检查表单控件类型时,VBA运行时错误1004“应用程序定义的或对象定义的错误”

时间:2018-04-21 00:03:23

标签: excel vba excel-vba

我希望你能帮助我。我已经搜索过没有成功的解决方案。在Excel工作表中,我尝试使用宏来计算激活的复选框。

Option Explicit
Public Sub Count_CheckBoxes()
    Dim counter As Integer
    Dim shpBox As Shape
    With Tabelle1
        For Each shpBox In .Shapes
            With shpBox
                If .FormControlType = xlCheckBox Then
                    If .ControlFormat.Value = xlOn Then
                        counter = counter + 1
                    End If
                End If
            End With
        Next
        .Cells(29, 3).Value = counter
    End With
End Sub

当我尝试运行此代码时,出现运行时错误1004“应用程序定义或对象定义错误”,表示行If .FormControlType = xlCheckBox Then

我的Excel文件包含多张工作表,包括工作簿在内的所有工作表都不受保护。我没有宏的技能,我认为这是一个非常简单的错误......然而我找不到它。

感谢您的帮助。

1 个答案:

答案 0 :(得分:3)

在询问.FormControlType之前,请确保形状是Form控件:

If shpBox.Type = msoFormControl Then