Excel VBA: 双击时单元格颜色改变

Excel VBA: Cell color change on double click

下面你可以找到双击切换单元格颜色的代码,我需要让它只对D2:D14范围内的单元格起作用。目前这适用于所有单元格..

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, cancel As Boolean)
cancel = True
Select Case Target.Interior.ColorIndex
    Case xlNone, 4: Target.Interior.ColorIndex = 6
    Case xlNone, 6: Target.Interior.ColorIndex = 3
    Case Else: Target.Interior.ColorIndex = 4
End Select
End Sub

请帮帮我!提前致谢!

使用Intersect.

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

If Intersect(Target, Range("D2:D14")) Is Nothing Then Exit Sub

Cancel = True

Select Case Target.Interior.ColorIndex
    Case xlNone, 4: Target.Interior.ColorIndex = 6
    Case xlNone, 6: Target.Interior.ColorIndex = 3
    Case Else: Target.Interior.ColorIndex = 4
End Select

End Sub

切换的简单答案:

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

取消 = 正确

Target.Interior.Color = IIf(Target.Interior.Color = vbWhite, vbGreen, vbWhite)

结束子