在EXCEL VBA上创建一个ToggleButton并以编程方式更改其标题



在VBA代码中,我创建了一些新的图纸,并添加了按钮和切换按钮。我做这件事没有问题,但我想在不点击的情况下更改ToggleButton标题。

我认为只有在创建的工作表中编写代码才有可能,我试过了,但我不能调用我的方法,因为工作表在代码的开头不存在。。。

你知道吗?

PS:使用宏创建ToggleButton的代码:

ActiveSheet.OLEObjects.Add(ClassType:=""Forms.ToggleButton.1"", Link:=False, DisplayAsIcon:=False, Left:=1195.5, Top:=77.25, Width:=87.75, Height:=100.5).Select

编辑:我的代码在一个vba模块中

将对象作为引用,而不是Select,然后设置标题:

Set btn = ActiveSheet.OLEObjects.Add(ClassType:="Forms.ToggleButton.1", Link:=False, DisplayAsIcon:=False, Left:=1195.5, Top:=77.25, Width:=87.75, Height:=100.5)
btn.Object.Caption = "fred"

使用当前代码,您可以在创建Selection.Caption = "NewCaption"后立即执行它(这样您就不会丢失选择(

不过,我可能想将togglebutton分配给一个对象变量,以防您想对它执行任何操作。事实上,我尽量避免选择。。。

如果它只有一个切换按钮(并且您没有更改它的默认名称(,您可以使用默认索引名称来引用它,这样您就可以更改它的标题。

所以你会使用:

ActiveSheet.OLEObjects("ToggleButton1").Object.Caption = "Your Caption"

如果您使用Add方法添加了多个控件,并且通常情况下,您会更好地将它们分配给变量并从那里开始工作。

最新更新