簡體   English   中英

如何使用宏創建按鈕以運行宏

[英]How to create a button using a macro to run a macro

我記錄了一個宏來幫助我運行編寫的代碼。 代碼本身有效。 但是,我似乎無法創建一個可以運行代碼的按鈕。

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

摘要是工作表。按鈕已創建,但按鈕本身不執行任何操作。 另外,當我嘗試手動將宏分配給按鈕時,代碼仍然不起作用。 但是,當我運行代碼時,它運行平穩。

謝謝,

G

您可以嘗試首先Set按鈕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,因此可能需要根據您的需要進行修改。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM