作爲電子表格的一部分,我想要一個宏來更改ActiveX按鈕的顏色。現在,當點擊按鈕時,按鈕顏色會發生變化。我希望它在運行單獨的宏時變回原來的顏色。使用宏更改ActiveX命令按鈕的顏色
任何想法都表示讚賞,謝謝!
作爲電子表格的一部分,我想要一個宏來更改ActiveX按鈕的顏色。現在,當點擊按鈕時,按鈕顏色會發生變化。我希望它在運行單獨的宏時變回原來的顏色。使用宏更改ActiveX命令按鈕的顏色
任何想法都表示讚賞,謝謝!
假設該按鈕爲白色:
宏1:
Sheet(n).CommandButton1.BackColor = 'something
Macro2:
Sheet(n).CommandButton1.BackColor = &H00FFFFFF&
不應該這是你必須做的唯一的事情? (More)
這是我正在使用的線 CommandButton1.BackColor = 12713922 當我運行它時,出現「Object Required」錯誤。 – Jarom
試試'Sheet1.CommandButton1.Backcolor ='Something'適用於我。對不起,以前忘了關於'Sheet1.'的一部分 –
您可能正在尋找這樣的事情:
Option Explicit
Sub tmpSO()
Dim Sh As Worksheet
Dim Obj As OLEObject
For Each Sh In ThisWorkbook.Worksheets
For Each Obj In Sh.OLEObjects
If TypeName(Obj.Object) = "CommandButton" Then
Debug.Print Obj.Name
If Obj.Object.BackColor = -2147483633 Then
Obj.Object.BackColor = 6740479
Else
Obj.Object.BackColor = -2147483633
End If
End If
Next Obj
Next Sh
End Sub
注意,該.Name
直接駐留在.OLEObject
而.BackColor
是.OLEObject.Object
一個子元素。
上述代碼將切換灰色(默認)顏色和橙色之間的所有按鈕背景色。
讓我知道如果您有任何問題。
那麼這樣做的問題是什麼?如果你已經做了一次,從另一個宏 – Spidey
我應該澄清。工作的宏是一個私人的子。我試圖讓它在一個子上工作。 – Jarom