验证是否已选中复选框vba

时间:2014-07-22 16:59:53

标签: excel excel-vba vba

我需要知道是否至少检查了一个复选框,并且我有这些代码行,但似乎没有按预期工作。有人能帮帮我吗?谢谢。如果我有如下所示,即使至少检查了一个方框,它也会继续要求用户选中一个方框

 If Sheet1.ListBox1.Selected(0) = False Or Sheet1.ListBox2.Selected(0) = False Then
    MsgBox "Please check a box"
    Exit Sub
 End If

如果我这样做,即使没有选中复选框,也不会要求用户选中复选框。但是有一个盒子被检查然后它会要求用户检查至少一个盒子。

 If Sheet1.ListBox1.Selected(0) = True Or Sheet1.ListBox2.Selected(0) = True Then
    MsgBox "Please check a box"
    Exit Sub
 End If

感谢您的帮助。还有,还有一件事FRIENDS,如果你是我很友好的帮助我,因为我是新的编码请,请帮助我使用非常简单的代码行。老实说我讨厌实现智能代码行,但我不知道它是做什么的。我想知道代码的作用,以便我下次知道。谢谢谢谢。

1 个答案:

答案 0 :(得分:0)

这将检查工作表上是否至少选中了一个复选框:

Sub terraniann()
    Dim o As Object
    For Each o In ActiveSheet.OLEObjects
        If InStr(1, o.Name, "CheckBox") > 0 Then
            If o.Object.Value = True Then
                MsgBox "at least one box has been checked"
                Exit Sub
            End If
        End If
    Next
    MsgBox "no checkboxes have been checked"
End Sub