Sub Test()
Dim spinButton As Object
Set spinButton = ActiveSheet.OLEObjects.Add(ClassType:="Forms.SpinButton.1", Link:=False, DisplayAsIcon:=False, Left:=276, Top:=58.5, Width:=12.75, Height:=25.5)
spinButton.Object.Min = 1
spinButton.Object.Max = 100
spinButton.LinkedCell = "B2"
End Sub
我上面的VBA代码的目标是创建一个简单的“旋转按钮”,它将“ B2”单元格的值更改为1。
当我将代码作为宏运行时,它会向我显示此错误警告:
其中they write about on the MS website here。
问题是,我的代码有效。如图所示,它会在正确的位置创建一个旋转按钮,添加正确的属性,并在单击旋转按钮时更改B2单元格的值。
我正在使用一个完全没有文件的全新文件。没有其他宏/模块和完全空的电子表格。如果有任何区别,我将在“ ThisWorkbook”中使用我的VBA代码:
答案 0 :(得分:3)
spinButton.Object.Min = 1 spinButton.Object.Max = 100 spinButton.LinkedCell = "B2"
收到该错误是因为您事先将最小值设置为1
,然后链接到没有值的单元格。如果您做相反的事情,那就可以了
spinButton.LinkedCell = "B2"
spinButton.Object.Min = 1
spinButton.Object.Max = 100
答案 1 :(得分:2)
这对我来说有两个小的变化:
将此代码插入常规模块而不是ThisWorkbook
模块中。
添加一行,将B2
的值设置为1,然后再将其链接到旋转按钮(假设这就是您想要的起始值,但是您也可以轻松地将其设置为{ {1}}或两者之间的任何内容。
100