如何使用macros创build一个button来运行一个macros

我logging了一个macros,帮助我运行我写的代码。 代码本身起作用。 但是,我似乎无法创build一个将运行代码的button。

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 

摘要是工作表。button被创build,但button本身什么都不做。 另外,当我尝试手动分配macros的button,代码仍然无法正常工作。 但是,当我运行代码时,它运行顺利。

谢谢,

G

您可以尝试先将buttonSet为一个声明为Button的variables。

 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社区的其他人)都非常不喜欢。 .Selection.Selection.Activate等。所以这通常是我在帮助解决问题时尝试摆脱的第一件事情,然后从那里移动。

注意:我没有将“ Summary设置为工作表1,因此可能需要根据需要进行修改。