我只是一个简单的问题。这是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
答案 0 :(得分:3)
每当您遇到这种限制时,只需使用内置的办公室帮助即可。但是,要在您的情况下充分利用帮助,请手动尝试更改控件的名称,您将看到如下所示的错误
只需单击帮助即可进入相关的MSDN页面,您可以进行互联网连接:)
如果链接死亡
不是合法对象名称:' item
Office 2013及更高版本的其他版本
表单和控件名称必须以字母开头,并且可以是最大值 40个字符 - 包括字母,数字和下划线(_)。 请注意,窗体或控件的Name属性与 标签属性 - 标题,文本和值 - 标签或显示 运行时控件的内容。这些属性可以 受限制的关键字,可以以数字开头,并且可以包含 非字母数字字符。