エクセルでクリックで色をつける方法

このQ&Aのポイント
  • エクセルで複数チームに分ける表を作成し、セルをクリックすることで色を変える方法について説明します。
  • チーム分けした表の各チームをクリックすると、セルの色が変わり、チーム名が表示されます。
  • 試合ごとに分けたチームを別のセルで表示し、色の変更も行います。4試合目以降は行わず、色の違いには細かなこだわりはありません。
回答を見る
  • ベストアンサー

エクセル クリックで色をつけるには?(4)

15人をA、B、C、D、Eの5チームに分ける表をエクセルでつくりたいと考えています。    (1)1行目に1人目のデータ。A1列に氏名。  (2)1人目がAチームなら、B1をクリックすると赤に変わり、かつ「A」とそのセルに表示。  (3)Bチームに変更したければ、C1をクリックすると青に変わり、かつ「B」とそのセルに表示。その際、B1の色を消す。  (4)Cチームの場合は、D1をクリック、黄色に変わり、かつ「C」と表示。その際、B1もしくはC1の色を消す。  (5)Dチームの場合はオレンジ、Eチームの場合は緑、でそれぞれ同様にE1、F1に「D」「E」と表示。  (6)2人目以降は同様に、2行目以降に表示。それぞれの行が干渉しないようにする。    以上が1試合目で、2試合目、3試合目も行う。  ただし、2試合目以降は、3チームに分ける。  (1)2試合目はG、H、Iのセル、3試合目はJ、K、Lセルを使う。  (2)2試合目、3試合目のチーム名はA、B、Cではなく、ア、イ、ウとする。(2試合目、3試合目共にア、イ、ウ)  (3)1試合目はそのままで、2試合目、3試合目は別の色に変える。(Aチームは薄い赤、Bチームは薄い青、Cチームは薄い黄色)→細かな色の違いにはこだわりません。  (4)4試合目以降は行わない。    

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

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

失礼しました。 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 > 12 Then Exit Sub  a1 = Array("A", "B", "C", "D", "E")  a2 = Array("ア", "イ", "ウ", "", "") '位置決め  if target.column < 7 then  ’B列群   Set s = cells(target.row, "B")   c = target.column - 2  elseif target.column < 10 then  ’G列群   set s = cells(target.row, "G")   c = target.column - 7  else  ’J列群   set s = cells(target.row, "J")   c = target.column - 10  end if 'クリア  s.Resize(1, iif(s.column = 2, 5, 3)).ClearContents '記入  Target = IIf(s.Column = 2, a1(c), a2(c))  Cancel = True End Sub #ご質問のたび色の話題をされるってのは,条件付き書式は絶対使いたくないって意思表示なんでしょうか。 最初のご質問で色の塗り方は少しお話ししてありますが,それとは別に「新しいマクロの記録」で実際に好みの色を塗ってみて,記録されたマクロを参考にしてマクロに組込んでみてください。

hyyhyy
質問者

お礼

条件付き書式を使ってやってみました。 思い通りの仕上がりでした。 何度も何度も、たいへんに失礼いたしました。 本当にありがとうございました。

関連するQ&A

  • エクセル クリックでセルの色を変えるには?(3)

    15人をA、B、C、D、Eの5チームに分ける表をエクセルでつくりたいと考えています。    (1)1行目に1人目のデータ。A1列に氏名。  (2)1人目がAチームなら、B1をクリックすると赤に変わり、かつ「A」とそのセルに表示。  (3)Bチームに変更したければ、C1をクリックすると青に変わり、かつ「B」とそのセルに表示。その際、B1の色を消す。  (4)Cチームの場合は、D1をクリック、黄色に変わり、かつ「C」と表示。その際、B1もしくはC1の色を消す。  (5)Dチームの場合はオレンジ、Eチームの場合は緑、でそれぞれ同様にE1、F1に「D」「E」と表示。  (6)2人目以降は同様に、2行目以降に表示。それぞれの行が干渉しないようにする。    以上が1試合目で、2試合目、3試合目も行う。  ただし、2試合目以降は、3チームに分ける。  (1)2試合目はG、H、Iのセル、3試合目はJ、K、Lセルを使う。  (2)2試合目、3試合目のチーム名はA、B、Cではなく、ア、イ、ウとする。(2試合目、3試合目共にア、イ、ウ)  (3)1試合目はそのままで、2試合目、3試合目は別の色に変える。(Aチームは薄い赤、Bチームは薄い青、Cチームは薄い黄色)→細かな色の違いにはこだわりません。  (4)4試合目以降は行わない。    文章だけでは、表現力不足が大きく、非常にわかりにくいと思いますが、どうぞよろしくお願いいたします。  何度も同じような質問を重ねています。大変申し訳ありません。

  • エクセル クリックでセルの色を変えるには?

    9人をA、B、Cの3チームに分ける表をエクセルでつくりたいと考えています。    (1)1行目に1人目のデータ。A1列に氏名。  (2)1人目がAチームなら、B1をクリックすると赤に変わり、かつ「A」とそのセル表示。  (3)Bチームに変更したければ、C1をクリックすると青に変わり、かつ「B」とそのセルに表示。その   際、B1の色を消す。  (4)Cチームの場合は、D1をクリック、黄色に変わり、かつ「C」と表示。その際、B1もしくはC1の色を  消す。  (5)2人目以降は同様に、2行目以降に表示。それぞれの行が干渉しないようにする。  なお、以上が1試合目で、2試合目のチーム分けをそれぞれのメンバーの行の、E、F、Gの列を使って、同様に行えるようにできれば完璧なのですが…。  文章がつたなく申し訳ありません。ぜひ教えてください。

  • エクセル クリックでセルの色を変えるには?(2)

     先日、質問をさせていただき、それに対して素晴らしいご回答をいただきました。  今回は、さらに要望をさせていただきたいと考えています。  以下、(1)最初の質問、(2)それに対するご回答、(3)更なる要望 の順に掲載いたします。 (1)最初の質問  9人をA、B、Cの3チームに分ける表をエクセルでつくりたいと考えています。    (1)1行目に1人目のデータ。A1列に氏名。  (2)1人目がAチームなら、B1をクリックすると赤に変わり、かつ「A」とそのセル表示。  (3)Bチームに変更したければ、C1をクリックすると青に変わり、かつ「B」とそのセルに表示。その際、B1の色を消す。  (4)Cチームの場合は、D1をクリック、黄色に変わり、かつ「C」と表示。その際、B1もしくはC1の色を消す。  (5)2人目以降は同様に、2行目以降に表示。それぞれの行が干渉しないようにする。  なお、以上が1試合目で、2試合目のチーム分けをそれぞれのメンバーの行の、E、F、Gの列を使って、同様に行えるようにできれば完璧なのですが…。 (2)ご回答  シート名タブを右クリックしてコードの表示を選び,下記をコピー貼り付ける Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)  Dim s As Range, c As Integer  If Target.Column = 1 Then Exit Sub ’位置決め  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.Interior.Color = Array(vbBlue, vbYellow, vbRed)(c)  Target.Font.Color = Array(vbWhite, vbBlack, vbWhite)(c)  Target = Array("B", "C", "A")(c)  Cancel = True End Sub B列以降をWクリックする。 (3)さらに要望  (1)1試合目はそのままで、2試合目、3試合目のチーム名はA、B、Cではなく、ア、イ、ウとする。(2試合目、3試合目共にア、イ、ウ)  (2)1試合目はそのままで、2試合目、3試合目は別の色に変える。(Aチームは薄い赤、Bチームは薄い青、Cチームは薄い黄色)→細かな色の違いにはこだわりません。  (3)4試合目以降は行わない。  (4)可能ならば、ダブルクリックではなく、クリックでできるようにする。  つたない文書で申し訳ありません。  VBAについて全く理解できていませんので、このような質問になりました。  どうぞよろしくお願いいたします。

  • Excelで範囲内にあるデータを引用して表示させる方法

    こんばんわ。いつもお世話になります。 また、皆様のお知恵を借りたくて質問させていただきます。 今回下記のような、2つのシートがあり、メインシートのA1のセルに任意の数値を入れるとサブシートに既にマスタとして入力されてある表のDセル、Eセルの間の範囲にある行のAセル、Bセル、Cセルの値をメインシートで表示をさせたいのですが良い方法はありますでしょうか。 例えば、メインシートA1セルに「135」の数値をいれるとサブシートのD、E各列から範囲に適応する行(130以上~150未満)のA3、B3、C3のセルの値をメインシートのB1、C1、D1のセルに表示させたいのです。 サブシートのデータ数は約50行程あります。 申し訳ありませんがよろしくお願いします。説明不足なところはその都度補足させていただきます。 メインシート(Sheet1) A B C D 135 140 ウ c 107 100 ア a サブシート(sheet2) A B C D E ア a 100 90以上 110未満 イ b 120 110 130 ウ c 140 130 150 シートがうまく表示できてませんが、よろしくです。

  • エクセルについてです

    A列1行目から順にa,b,c,d,e…… B列1行目から順に1,2,3,4,5…… C列1行目から順にア,イ,ウ,エ,オ……と入力されているエクセルの表を、D列1行目にa E列1行目に1 C列2行目にア 以下同様にD列3行目にb E列3行目に2 D列4行目にイ……というふうに移していくにはどうしたらよいでしょうか。

  • Excel(2000)で行毎にセルをみて、値を返す

    例えば、以下のようなデータがあったとして、各行毎に左から見た結果、最初にデータがあったセルの列の1行のセルの値を各行のG列に返したい。 ______A__B__C__D__E__F__G__ 1行_ア__イ__ウ__エ__オ__カ____ 2行_1__3__5__2__4__1__ア__ 3行_____2__5__1__5__4__イ__ 4行_____________2__8__2__エ__ 5行_____2______2__1__4__イ__ 6行_________5______2______ウ__ G列に結果。 例えば、G3のセルに何らかの関数を入れて、A3~F3を左から見た結果、B3に2というデータがあるので、その列の1行であるB1の値、イをG3に返すといったないようです。 _ は、スペースをとるためのものです。 実際のデータは500行あり、各行の検索する列数は23列あります。 よろしくお願い致します。

  • 【マクロ】クリックすると空白を含む列を非表示に

    上司にExcelのデータが見づらいと言われて困っています。 下記のようなマクロやVBAを教えていただけないでしょうか? 例えば、 A2のセルをクリックすると、その行(2行目)から空白セルを検索して、そのセルを含む列を非表示にして、データが入っている列だけを表するようなマクロってないでしょうか? (要は、C2とE2が空白セルのとき、A2をクリックして、A/B/D/F~の列だけ表示されるようになるマクロです。 同様に3行目でも、空白セルがB3、C3なら、A3をクリックした時、A/D/E…列だけ表示されて、B・C列が非常時になるような。) 似たような機能があれば、A2クリックでなく別にボタン等を作っても構いません。 ややこしくて、申し訳ございませんが、本当に困っているので、 どうかよろしくお願いいたします。

  • エクセルのコピペ機能で

    当方、windowsで、 エクセル2003を利用しております。 エクセルでのセルのコピペ作業で、 行でも列でもいいのですが、 複数行、または複数列に渡る範囲のセルをコピーして、 別のシートに貼り付ける際、 コピーした範囲のセルで、数値が含まれるセルのみをコピーして、 貼り付け先にデータが入っていればそこは貼り付けられず、貼り付け先を残したまま、貼り付けするような機能ってないでしょうか? たとえばですが、コピー元の範囲(図1)をコピーし、(図2)に貼り付けた時に、(図1)が出来上がってしまうのではなく、 図1と図2を足した状態で図3の形で、ペースとしたいのですが、こんな機能ないでしょうか?分かりにくくなってまして申しわけないです。 ご教授いただければ幸です。 図1)  A B C D E 1ア  サ 2イ 3 4エ     ネ 図2)  A B C D E 1  カ 2  キ 3ウ ク 4  ケ 図3)  A B C D E 1ア カ サ 2イ キ 3ウ ク 4エ ケ    ネ

  • エクセル セルをクリックすると色が変わる

    セルをクリックするとそのセルの色が変わるといったようなマクロが組めるでしょうか。 色を変えたいのは、C2をクリックする「色あり」となり、D2は「色なし」、逆にD2をクリックすると「色あり」となり、C2は「色なし」にしたいです。 予定ではB2に氏名を入れておき、C2に在席、D2に不在といった感じで、社員の在席表を作成したいと考えております。ですから、コードの対象範囲を増やせるようにもお願いしたいのですが、不可能であれば、20人くらいの管理可能なコードを宜しくお願いいたします。

  • 【エクセル】

        A      B    C    D    E (1)到達日   1/3       1/5 (2)目標値   3.05  6.00  5.14  4.90 (3) (4)1月1日  0.00  0.00  0.00  0.00 (5)1月2日  1.73  1.85  0.94  0.01 (6)1月3日  3.08  2.08  2.64  0.92 (7)1月4日  5.44  3.38  4.19  1.76 (8)1月5日  8.00  4.09  6.77  2.50 (9)1月6日  9.91  5.53  9.00  3.48 上記のような表の場合で、(2)列目の目標値に達した所以降から色を変えて強調させることができません。 また、達した数字の日付を(1)行目に反映させることは可能なのでしょうか? 例えば「B行目は(6)から赤字で表示し、B-(1)には1月3日」と。 達したセルだけを変えることはできましたが、それ以降のセルが変わらず、達した列のA行目を反映させることができません。 どうかお力をお貸しください。よろしくお願いします。

専門家に質問してみよう