- ベストアンサー
エクセル セルをクリックすると色が変わる
セルをクリックするとそのセルの色が変わるといったようなマクロが組めるでしょうか。 色を変えたいのは、C2をクリックする「色あり」となり、D2は「色なし」、逆にD2をクリックすると「色あり」となり、C2は「色なし」にしたいです。 予定ではB2に氏名を入れておき、C2に在席、D2に不在といった感じで、社員の在席表を作成したいと考えております。ですから、コードの対象範囲を増やせるようにもお願いしたいのですが、不可能であれば、20人くらいの管理可能なコードを宜しくお願いいたします。
- rescue-zero
- お礼率100% (1/1)
- オフィス系ソフト
- 回答数1
- ありがとう数3
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
クリックじゃなく,Wクリックで行います 手順: シート名タブを右クリック、コードの表示を選ぶ 現れたシートの記載内容を全て消して,下記をコピー貼り付ける private sub Worksheet_BeforeDoubleClick(byval Target as excel.range, cancel as boolean) if application.intersect(target, range("C:D")) is nothing then exit sub cancel = true target.interior.colorindex = iif(target.interior.colorindex = 4, xlnone, 4) target.offset(0, iif(target.column = 3, 1, -1)).interior.colorindex = xlnone end sub ファイルメニューから終了してエクセルに戻る C列またはD列のセルをWクリックすると色が付き,隣の色を消す 既に色塗られているセルをWクリックすると色が消える。 #非常に良く寄せられるご相談の一種ですが,エクセルには「セルをクリックしてどーこーするマクロ」はありません。 #参考 範囲を限定したいときは range("C:D") の部分を range("C2:D20") とかに書き換えます
関連するQ&A
- エクセル クリックでセルの色を変えるには?
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の列を使って、同様に行えるようにできれば完璧なのですが…。 文章がつたなく申し訳ありません。ぜひ教えてください。
- ベストアンサー
- オフィス系ソフト
- エクセル クリックでセルの色を変えるには?(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試合目以降は行わない。 文章だけでは、表現力不足が大きく、非常にわかりにくいと思いますが、どうぞよろしくお願いいたします。 何度も同じような質問を重ねています。大変申し訳ありません。
- ベストアンサー
- オフィス系ソフト
- エクセル VBA セルをクリックすると色が変わる
いつも皆様には大変お世話になっております。 早速ですが、VBAでセルをクリック(もしくはダブルクリック)するとそのセルの色が変わるといったようなマクロが組めるでしょうか。 色を変えたいのは、A1~A4までの4個のうち1個だけなのでA1がクリックされればA2~A4までは『色なし』にしたいのです。 そんなことは出来るでしょうか? よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- セルをクリックしたら色を変えまたくりっくしたらもと
エクセル2010です。 お願いいたします。 セルをクリックしたら色を変え、またくりっくしたらもと戻す というのを したいのですが。 詳しく述べます。 セル範囲 (A1:K1) の範囲で そのセルをクリックしたら 黄色 また 同じセルをクリックしたら 色なし というものに できないでしょうか? (A1:K1)以外のセルには、その方式は適応させないものとしたい。 または、オートシェイプを A1 A2 A3 A4 A5 A6 A7 A8 A9 の高さ 幅を ピッタリしたものを 各セルの上に配置して オートシェイプにそれぞれマクロを登録する 形で 同様なものが できてもいいと考えております。 詳しい方アドバイス いただければと 思います。
- ベストアンサー
- その他MS Office製品
- エクセル クリックで色をつけるには?(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試合目以降は行わない。
- ベストアンサー
- オフィス系ソフト
- エクセルでセルをクリックすると色が変わるコード
エクセルでセルをクリックすると色が変わるものが作りたいのですが、 A1:A50など連続した範囲ではなく、 A1,E1,I1...A5,E5,I5...をクリックすると「赤」に塗りつぶされる B1,F1,J1...B5,F5,J5...をクリックすりと「青」に塗りつぶされる A2,E2,I2...A6,E6,I6...をクリックすると「黄」に塗りつぶされる そして、もう一度クリックすると「塗りつぶしなし」に戻る というものを作りたいのです。 連続した範囲のものはなんとかわかったのですが、 上記の条件ですと、複雑でどうしていいかわからなくなってしまいました。 コードを教えていただけませんか? 宜しくお願い致します。
- ベストアンサー
- オフィス系ソフト
- Excel 2007 マクロ セルの色のカウント
Excel 2007 マクロ セルの色のカウント 表に複数の色がセルについています。 色がついているセルの隣の列に「1」を返したいです。 どのようなマクロになりますでしょうか。 色がついている列は1行でC列になります。 ご回答よろしくお願いします。
- ベストアンサー
- その他MS Office製品
- 【Excel】色が付いているセルの値をクリアしたい
Excel2003を使用しています。 『D8:J40の範囲で色が付いているセルの値をクリアする』というマクロを作りたいのですが、“セルに色がついていたら…”という条件をどのように書いたらいいのかがわからず、つまづいています。 参考までにコードを書いていただけると助かります。よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- エクセル クリックでセルの色を変えるには?(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について全く理解できていませんので、このような質問になりました。 どうぞよろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- クリックでセルの色を変える
過去の質問を捜したんですが、見つからなかったので質問させていただきます。 表のセルをクリックすると色が変わり、同じ行のセルをクリックするとそのセルの色が変わり先ほどのセルは元の色に戻るやり方がわかりません。 また、次の行のセルをクリックした時、前の行で最後にクリックしたセルの色はそのまま残しておきたいんです。 つまり、1行目では「A」を、2行目では「B」を選択したことが最後に一目で分かるようにしたいんです。 当方初心者ですが宜しくお願いします。
- 締切済み
- レンタルサーバ・ASP
お礼
早々に回答いただき本当にありがとうございます。 希望していたそのものです。助かりました。 この度は勉強不足ですみませんでした。 今後とも宜しくお願いいたします。