我有一個包含超過65個ActiveX命令按鈕的電子表格。當我離開時單擊一個命令按鈕,它會變成綠色並在單元格中添加一個(+1)。當我右鍵單擊相同的命令按鈕時,它變成紅色並在單元格中添加(+1)。單擊後將ActiveX命令按鈕顏色更改回原來的顏色
當我點擊另一個命令按鈕時,我想將上一個命令按鈕返回到默認灰色。問題是前面的命令按鈕保持與我之前點擊過的相同的顏色。
如何在單張紙上有65個以上的命令按鈕時使被單擊的命令按鈕返回默認灰色。以下是我迄今爲止單個命令按鈕:
Private Sub Action68_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
If Button = 1 Then
Worksheets("Stats").Cells(CurrentPlayerRow, "BA").Value = Worksheets("Stats").Cells(CurrentPlayerRow, "BA").Value + 1
Action68.BackColor = vbGreen
ElseIf Button = 2 Then
Worksheets("Stats").Cells(CurrentPlayerRow, "BB").Value = Worksheets("Stats").Cells(CurrentPlayerRow, "BB").Value + 1
Action68.BackColor = vbRed
End If
End Sub
Private Sub Action69_MouseDown(ByVal Button As Integer, ByVal Shift As
Integer, ByVal X As Single, ByVal Y As Single)
If Button = 1 Then
Worksheets("Stats").Cells(CurrentPlayerRow, "BT").Value = Worksheets("Stats").Cells(CurrentPlayerRow, "BT").Value + 1
Action69.BackColor = vbGreen
ElseIf Button = 2 Then
Worksheets("Stats").Cells(CurrentPlayerRow, "BU").Value = Worksheets("Stats").Cells(CurrentPlayerRow, "BU").Value + 1
Action69.BackColor = vbRed
End If
End Sub
我有它的顏色變爲紅色或綠色,當它是左或右點擊。但是當我點擊另一個按鈕時,我不知道如何將它變成默認灰色。
基本上,當我點擊'Action 69'命令按鈕時,'Action68'命令按鈕以及其他67個命令按鈕返回默認灰色,以便顏色只會改變被點擊的按鈕。你有什麼建議嗎?
謝謝
你的代碼複製70倍?你可能想在這裏提取一個小參數化的方法... FWIW ButtonFace系統顏色的默認'BackColor'是'&H8000000F&' - 你可以通過查看* properties * toolwindow找到。 –
感謝您的意見。是的,每個單獨的按鈕都有70次。我沒有跟着你。對不起,我是vba新手。如果單擊另一個按鈕,是否允許我自動返回到「默認灰色」? –
要麼使用一個保存對象(按鈕)的全局變量,要麼運行所有按鈕。像**按鈕klicked - >將變量中的按鈕更改爲默認值 - >執行按鈕操作 - >將變量設置爲實際按鈕** –