• ベストアンサー

vbaのコマンドボタンを同時にクリック

コマンドボタンが4つあります コマンドボタン 1〜3は個別でクリックすると色が変わります(赤→青、青→赤) 4を押すと 1〜3全ての色を変えたいのです。 しかも出来れば青に統一したいのですがどのようにすればいいのでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • MT765
  • ベストアンサー率57% (2091/3632)
回答No.1

コマンドボタン4を押した時点でのコマンドボタン1~3のBackColorの値をそれぞれ調べてその値が設定した赤の値なら青の値を入れる、青の値ならばそのまま、で良いのではないでしょうか。 Dim Bcolor As Long Bcolor = CommandButton1.BackColor などとしてコマンドボタンの背景色を取得してIf文で処理を分岐で良いと思います。 参考 【Colorプロパティの設定値一覧(カラー定数、XlRgbColor列挙)】 https://excel-ubara.com/excelvba4/EXCEL285.html

Teilz11088
質問者

お礼

お礼が遅くなりました。ありがとうございました。 backcolorで指定した色で無い場合は指定した色にするというようにすればいけました

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.2

表題の>同時にクリック で何が言いたいのか? VBAはVBAコードの実行で、クリックしたと同じ効果を出す、ものであるはず。 VBAは、クリックした場合の、画面の瞬間の動画的再現は目指してないよ。 ーーー コマンドボタンは、シートに貼りつけたものか?ユーザーフォームに貼り付けたものか意識して、質問すること。 ーー どの色に設定するのか?。 色の設定も、VBAで色々のタイプがある。 ・ColorIndex ・カラー定数 ・XlRgbColor列挙 ・RGB など。 どれを考えているのか ーー シートSheet1に4つボタンを張り付けて 4番目に貼り付けたボタンをCommandButton4として Private Sub CommandButton4_Click() CommandButton1.BackColor = vbGreen CommandButton2.BackColor = vbGreen CommandButton3.BackColor = vbGreen End Sub ーー CommandButton4のクリックでボタン1-3は、見た目はグリーンになる。 こんなことでどうか? 多分不満足だろうが、質問の書き方が不十分が一因。

すると、全ての回答が全文表示されます。

関連するQ&A