从复选框宏中排除行或列
Excluding rows or columns from Checkbox macro
所以,我在 sheet 复选框上建立了很多功能。
它超出了原来的范围,现在我需要添加更多的控制文本框
问题是,我写了一个脚本,如果行中的单元格为空(G 列中的单元格),它会取消标记空白复选框,现在我有更多的复选框来控制其他功能,不幸的是我的脚本影响了其他功能。
这是脚本:
Sub UnMarkBlankCheckBoxes()
Dim chk As CheckBox
Dim ws As Worksheet
Set ws = ActiveSheet
For Each chk In ws.CheckBoxes
If ws.Range("G" & chk.TopLeftCell.Row).Value = vbNullString Then
chk.Value = False
Else
chk.Value = True
End If
Next chk
End Sub
我需要能够 select 在特定范围内(仅 E 列),或者排除其他所有内容。我一直在尝试,但无法让它发挥作用。有任何想法吗?提前致谢!
对于多列,请将 >=
和 <=
与 And
结合使用
For Each chk In ws.CheckBoxes
If chk.TopLeftCell.Column >= 3 And chk.TopLeftCell.Column <= 5 Then
If ws.Range("G" & chk.TopLeftCell.Row).Value = vbNullString Then
chk.Value = False
Else
chk.Value = True
End If
End If
Next chk
或类似
If chk.TopLeftCell.Column = 3 Or chk.TopLeftCell.Column = 4 Or chk.TopLeftCell.Column = 6 Then
所以,我在 sheet 复选框上建立了很多功能。 它超出了原来的范围,现在我需要添加更多的控制文本框 问题是,我写了一个脚本,如果行中的单元格为空(G 列中的单元格),它会取消标记空白复选框,现在我有更多的复选框来控制其他功能,不幸的是我的脚本影响了其他功能。 这是脚本:
Sub UnMarkBlankCheckBoxes()
Dim chk As CheckBox
Dim ws As Worksheet
Set ws = ActiveSheet
For Each chk In ws.CheckBoxes
If ws.Range("G" & chk.TopLeftCell.Row).Value = vbNullString Then
chk.Value = False
Else
chk.Value = True
End If
Next chk
End Sub
我需要能够 select 在特定范围内(仅 E 列),或者排除其他所有内容。我一直在尝试,但无法让它发挥作用。有任何想法吗?提前致谢!
对于多列,请将 >=
和 <=
与 And
For Each chk In ws.CheckBoxes
If chk.TopLeftCell.Column >= 3 And chk.TopLeftCell.Column <= 5 Then
If ws.Range("G" & chk.TopLeftCell.Row).Value = vbNullString Then
chk.Value = False
Else
chk.Value = True
End If
End If
Next chk
或类似
If chk.TopLeftCell.Column = 3 Or chk.TopLeftCell.Column = 4 Or chk.TopLeftCell.Column = 6 Then