Excel VBA 獲取按鈕對象


今天給同事寫了兩個VBA宏,並分別把宏賦給了兩個按鈕。
因為兩個宏都是實現在兩種顯示方式之間切換,於是我想除了功能的實現外,還希望在切換到其中一種方式時,按鈕上面的文字也可以跟着改變,起到提示作用。

但是網上找了很多文章,都實現不了,而且很多都是針對Form表單控件的。所以自己嘗試解決

先說明,我的按鈕是 開發者菜單-插入-表單控件 默認下面的第一個。如下圖

插入控件之后,可以直接在左上角顯示單元格位置的地方修改它的名字,不修改將采用默認值。

在VBA中,先定義一個Button變量,再通過sheet對象和控件名字引用即可:

Sub getControls()
    Dim sht As worksheet
    Set sht = worksheets(sheetname)

    Dim bt As Button
    Set bt = sht.[buttonName]

    bt.Caption = "控件顯示的文字"
End Sub

這里容易令人困惑的是,一般我們在定義變量的時候,寫完As加空格會有提示列表出現的,但是我在提示列表里面沒有發現有Button這種類型。

此外,在引用控件的時候,方括號[]里面直接寫控件名,不需要使用雙引號

在寫bt再加一個點的時候,就會有它的屬性或方法的提示列表出現了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM