2016-06-24 58 views
0

作爲電子表格的一部分,我想要一個宏來更改ActiveX按鈕的顏色。現在,當點擊按鈕時,按鈕顏色會發生變化。我希望它在運行單獨的宏時變回原來的顏色。使用宏更改ActiveX命令按鈕的顏色

任何想法都表示讚賞,謝謝!

+1

那麼這樣做的問題是什麼?如果你已經做了一次,從另一個宏 – Spidey

+0

我應該澄清。工作的宏是一個私人的子。我試圖讓它在一個子上工作。 – Jarom

回答

0

假設該按鈕爲白色:
宏1:

Sheet(n).CommandButton1.BackColor = 'something 

Macro2:

Sheet(n).CommandButton1.BackColor = &H00FFFFFF& 

不應該這是你必須做的唯一的事情? (More)

+0

這是我正在使用的線 CommandButton1.BackColor = 12713922 當我運行它時,出現「Object Required」錯誤。 – Jarom

+0

試試'Sheet1.CommandButton1.Backcolor ='Something'適用於我。對不起,以前忘了關於'Sheet1.'的一部分 –

0

您可能正在尋找這樣的事情:

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一個子元素。

上述代碼將切換灰色(默認)顏色和橙色之間的所有按鈕背景色。

讓我知道如果您有任何問題。