我录制了一个宏来帮助我运行我编写的代码。代码本身有效。但是,我似乎无法创建一个将运行代码的按钮。
With Summary
.Buttons.Add(1039.8, 60.6, 66.6, 28.8).Select
Selection.OnAction = "PERSONAL.XLSB!Clear_Error"
Selection.Characters.Text = "Clear"
With Selection.Characters(Start:=1, Length:=11).Font
.Name = "Calibri"
.FontStyle = "Regular"
.Size = 11
End With
摘要是工作表。按钮已创建,但按钮本身不执行任何操作。此外,当我尝试手动将宏指定给按钮时,代码仍然无法正常工作。但是,当我运行代码时,它运行顺畅。
谢谢,
答案 0 :(得分:1)
您可以尝试将Set
按钮添加到声明为Button
的变量。
Option Explicit
Sub Test()
Dim Btn As Button, Summary As Worksheet
Set Summary = ThisWorkbook.Worksheets(1)
Set Btn = Summary.Buttons.Add(1039.8, 60.6, 66.6, 28.8)
With Btn
.OnAction = "PERSONAL.XLSB!Clear_Error"
.Characters.Text = "Clear"
With .Characters(Start:=1, Length:=11).Font
.Name = "Calibri"
.FontStyle = "Regular"
.Size = 11
End With
End With
End Sub
我个人(以及VBA社区的其他大多数人)都非常不喜欢.Select
,.Selection
,.Activate
等等。所以这通常是当我帮助解决问题时,我会尝试摆脱的第一件事就是从那里开始。
注意:我确实将Summary
设置为工作表1,因此可能需要根据您的需要进行修改。