2013-02-19 2 views
2

Этот код ставит галочку или крестик в колонке C и меняет шрифт Марлетт:Почему этот код влияет на ячейки в столбце C?

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) 

    If Not Intersect(Target, Range("B5:B25", "D5:D25")) Is Nothing Then 

    Cancel = True 'Prevent going into Edit Mode 

     Target.Font.Name = "Marlett" 

     If Target = vbNullString Then 

      Target = "a" 

     Else 

      Target = vbNullString 

     End If 

    End If 


End Sub 
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean) 

If Not Intersect(Target, Range("B5:B25", "D5:D25")) Is Nothing Then 

    Cancel = True 'Prevent going into Edit Mode 

     Target.Font.Name = "Marlett" 

     If Target = vbNullString Then 

      Target = "r" 

     Else 

      Target = vbNullString 

     End If 

    End If 

End Sub 

ответ

2

Если вы напечатаете это в окне Immediate (посмотреть скриншот)

?Range("B5:B25", "D5:D25").Address 

, то вы увидите, что адрес $B$5:$D$25 И, следовательно, он это делает. Если вы не хотите C быть включены затем заменить

Range("B5:B25", "D5:D25") 

с

Range("B5:B25,D5:D25") 

enter image description here

+0

Ниццей и простой. – Sam

+0

Это сработало, спасибо, мил ...! – SteveL2013