运行 宏(Private Sub)选中复选框时

Run macro (Private Sub) when checkbox is checked

当活动单元格被 selected 时,我有以下宏 select 整行。这是完美的工作!但是,我只想让这个宏在复选框为 "checked"

时工作
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Target.Column <> 1 Then
    Exit Sub
Else
    Application.ScreenUpdating = False
    Cells.Borders.LineStyle = xlLineStyleNone
    Rows(Target.Row).BorderAround Weight:=xlMedium, ColorIndex:=3
    Application.ScreenUpdating = True

End If

End Sub

取决于您拥有的复选框的名称。但是,如果它是 CheckBox1

,这应该起作用
If CheckBox1.Value = True Then
'do code'
Else: End If

您可以通过名称调用复选框,然后 select 值 属性

CheckBoxName.Value

这将 return 如果选中则为真,如果未选中则为假。所以你可以打电话

If CheckBoxName.Value
    If Target.Column <> 1 Then
        Exit Sub
    Else
        Application.ScreenUpdating = False
        Cells.Borders.LineStyle = xlLineStyleNone
        Rows(Target.Row).BorderAround Weight:=xlMedium, ColorIndex:=3
        Application.ScreenUpdating = True

   End If
End If

这应该有效。

您应该可以右键单击复选框并选择分配宏。

http://blog.contextures.com/archives/2014/01/16/click-a-check-box-to-run-a-macro/

谢谢你的努力和时间,但我找到了解决方案:

如果ActiveSheet.Shapes("Check Box 1").ControlFormat.Value = 1 那么

不确定这有多相关,但我注意到您可以直接将宏分配给复选框...?