我需要修改下面的代码才能使用表格范围而不是单元格范围。下面的代码允许给定范围之间的选定单元格从9变为0,如果选择则再次返回。但是我需要这个来使用Table,例如Table1 Column1是我的范围而不是G5到G1604。我想这样,当我为它指定Column1时,将整个列作为范围
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("G5:G1604")) Is Nothing Then
If Target.Value = 9 Then
Target.Value = 0
Else
Target.Value = 9
End If
End If
End Sub
答案 0 :(得分:3)
您的代码将如下所示(相应地调整表名和列引用):
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Me.ListObjects("Table1").ListColumns(1).DataBodyRange)) Is Nothing Then
If Target.Value = 9 Then
Target.Value = 0
Else
Target.Value = 9
End If
End If
End Sub
作为旁注:您确定要让此代码在工作表上从一个单元格移动到另一个单元格每次吗?或者,您是否希望每次对表格列中的单元格进行更改时触发它?如果是后者,请更改为Worksheet_Change
事件。