• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセル クリックでセルの色を変えるには?(2))

エクセルでセルの色を変える方法

このQ&Aのポイント
  • エクセルでA、B、Cの3チームに分ける表を作成し、クリックでセルの色を変える方法を教えてください。
  • シート名タブを右クリックしてコードの表示を選び、VBAコードを貼り付けます。各セルをクリックすると色が変わり、チーム名が表示されるようになります。
  • さらに要望として、2試合目、3試合目のチーム名をア、イ、ウに変更し、色も変えるようにすること、4試合目以降は行わないこと、そしてクリックで動作するようにすることを希望します。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

ステップ1) 色つけはマクロではなく,条件付き書式を事前に設定しておきます。 手順: ご利用のエクセルのバージョンが不明なので,Excel2003の例でお話しします。 BCD列を列選択 書式メニューの条件付き書式を開始 セルの値が 次の値に等しい ="A" として,書式ボタンでAの色を付ける 追加をクリック セルの値が 次の値に等しい ="B" として,書式ボタンでBの色を付ける 追加をクリック セルの値が 次の値に等しい ="C" として,書式ボタンでCの色を付ける でOKします。 E列からJ列を列選択 書式メニューの条件付き書式を開始 セルの値が 次の値に等しい ="ア" として,書式ボタンでアの色を付ける 追加をクリック セルの値が 次の値に等しい ="イ" として,書式ボタンでイの色を付ける 追加をクリック セルの値が 次の値に等しい ="ウ" として,書式ボタンでウの色を付ける #実際には,AはB列にしか入らないのでB列を選んで条件付き書式を設定し,Aに等しいときにAの色を付ける C列を選んでBに等しいときにBの条件付き書式を付ける D列を選んでCに等しいときにCの条件付き書式を付ける 以下同文 のように設定してもOKです。 条件付き書式も使ったことが無いときは,下記などを参考にします。 2003までのエクセル: http://www.geocities.jp/ogino2600x/1411.html 2007以降のエクセル: http://officetanaka.net/excel/excel2007/027.htm ステップ2) ABC(アイウ)の記入をマクロで行います 今までのマクロを必ず消してから,たとえば次のようなマクロに差し替えます Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Dim s As Range, c As Integer Dim a1, a2 If Target.Column = 1 Or Target.Column > 10 Then Exit Sub a1 = Array("B", "C", "A") a2 = Array("イ", "ウ", "ア") '位置決め Set s = Target.Offset(0, -(Target.Column + 1) Mod 3) c = Target.Column Mod 3 'クリア s.Resize(1, 3).ClearContents s.Resize(1, 3).Interior.ColorIndex = xlNone '記入 Target = IIf(s.Column = 2, a1(c), a2(c)) Cancel = True End Sub 操作はWクリックで行います。クリックでは行いません。 #出来ないわけではありませんが,クリックでマクロを組むと「セルを選んだ」だけで反応しちゃうので,たとえば矢印キーで次のセルに動いたとか,何かの拍子にそこに選択セルが行っただけで勝手にマクロが発動してしまい,使いにくくてしょーがありません。

hyyhyy
質問者

お礼

詳細なご回答、本当にありがとうございました。 素晴らしいできあがりとなりました。 なお、後日さらに別の要望をさせていただきたいと考えています。 「エクセル クリックで色を変えるには?(3)」として質問することを考えていますので、もしお手数でなければ、またお教えいただければ、本当にうれしく思います。

関連するQ&A

専門家に質問してみよう