从复选框宏中排除行或列

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