VBA复选框名称长度限制

时间:2016-09-21 12:47:43

标签: excel vba excel-vba

我只是一个简单的问题。这是excel VBA到复选框名称的一些限制吗?

我有这样的代码,当我使用超过33个字符的名字时,我有错误无法设置复选框类的Name属性(它只是一个测试代码)

那么这里有一些方法可以绕过这个吗?

 Sub createTestBox()

    Dim shimSheet As Worksheet
    Set shimSheet = Sheets("ShimSheet")

    Dim chkbox As checkBox

    Dim i As Long

    Dim name As String
    name = ""

    For i = 1 To 50
        name = name & "a"
        With shimSheet.Cells(12 + i, 3)

            shimSheet.CheckBoxes.Add(.Left, .Top, .Width, .Height).name = name
            shimSheet.CheckBoxes(name).Delete
        End With
    Next i

End Sub

1 个答案:

答案 0 :(得分:3)

每当您遇到这种限制时,只需使用内置的办公室帮助即可。但是,要在您的情况下充分利用帮助,请手动尝试更改控件的名称,您将看到如下所示的错误

enter image description here

只需单击帮助即可进入相关的MSDN页面,您可以进行互联网连接:)

请参阅链接Not a legal object name

如果链接死亡

  

不是合法对象名称:' item

     

Office 2013及更高版本的其他版本

     

表单和控件名称必须以字母开头,并且可以是最大值   40个字符 - 包括字母,数字和下划线(_)。   请注意,窗体或控件的Name属性与   标签属性 - 标题,文本和值 - 标签或显示   运行时控件的内容。这些属性可以   受限制的关键字,可以以数字开头,并且可以包含   非字母数字字符。