私は65を超えるActiveXコマンドボタンを備えたスプレッドシートを持っています。 1つのコマンドボタンをクリックすると、緑色に変わり、セルに(+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コマンドボタンがデフォルトのグレーに戻り、クリックされたボタンの色のみが変更されます。何か提案はありますか?
ありがとう
にボタンを付け、ワークシート上のボタンの束を作成しますか? FWIWの 'ButtonFace'システムカラーのデフォルトの' BackColor'は '&H8000000F&'です - あなたは*プロパティ* toolwindowを見て見つけることができます。 –
ありがとうございます。はい、それぞれのボタンごとに70回あります。私はあなたに従っていない。申し訳ありませんが、私はvbaに新しいです。別のボタンをクリックすると自動的に「デフォルトグレー」に戻ることができますか? –
オブジェクト(ボタン)を保持するグローバル変数を使用するか、すべてのボタンを実行します。 ** Button klickedと同様 - >変数のボタンをデフォルトに変更する - >ボタンアクションを実行する - >変数を実際のボタンに設定する** –