VBA复选框有问题

时间:2017-04-25 20:23:57

标签: excel vba loops checkbox

我正在尝试创建一个宏,用于从工作簿中打印选定的工作表。第一个工作表有一组复选框,它们都遵循命名约定“CheckBoxX”,其中X是该复选框的编号。我希望代码执行的操作是通过每个复选框运行,看看是否已选中,然后选中相应的工作表(如果已选中)。但是,我收到错误“对象不支持此属性或方法”。

这是我的代码: 代码:

Option Explicit


Sub Button14_Click()
    Dim count As Integer
    Dim checkNumber As String

    For count = 1 To ThisWorkbook.Worksheets.count
        checkNumber = "CheckBox" & count
        If Sheets("Print").Shapes(checkNumber).OLEFormat.Object.Value = True Then
            Worksheets(count + 1).Select (False)
        End If
    Next count

    ActiveWindow.SelectedSheets.PrintOut

End Sub

调试始终使用if语句标记该行。

我也试过这个作为我的if语句:

If Sheets("Print").Shapes(checkNumber).ControlFormat.Value = 1 Then

解决方案:我所要做的就是改变这一行:

If Sheets("Print").Shapes(checkNumber).OLEFormat.Object.Value = True Then

到此:

If Sheets("Print").Shapes(checkNumber).OLEFormat.Object.Object.Value = True Then

2 个答案:

答案 0 :(得分:1)

假设您使用<FrameLayout android:layout_width="match_parent" android:layout_height="match_parent"> <ImageButton android:id="@+id/imageButton3" android:layout_width="126dp" android:layout_height="117dp" android:background="@null" app:srcCompat="@drawable/sad" android:layout_marginLeft="82dp" android:layout_marginTop="200dp" /> </FrameLayout> 类型的复选框(代码中的ActiveX表示),您正在访问OLEObject个对象列表而不是{Shape列表1}}。

快速测试子是:

OLEObjects

答案 1 :(得分:0)

您可能需要&#34; Checkbox 1&#34; 而不是&#34; Checkbox1&#34;