• 締切済み

ボタンでその列の色がかわる

すいません。こんなことができるか、教えていただきたいのですが、 一つのセルにチェックボタンみたいなチェックを入れれるようなものをつけて、それをクリックするとその列の色が変わる・・・ みたいなことは可能でしょうか まず、チェック項目みたいなボタンってつけれるんでしょうか。 教えてください。   A    B  C 1 ボタン ←このボタンをクリックすると1の列の背景に色がつくみたいなもの 2 3

noname#11348
noname#11348

みんなの回答

  • takibo
  • ベストアンサー率57% (116/200)
回答No.4

マクロを使わない方法で、チェックボックスと条件付き書式でもできます。 たくさんの列や行に個別に設定するのは少々面倒かもしれませんが方法としては簡単だと思います。 【例】A1にチェックボックスが有り、チェックを入れるとA列に色がつく (1)[表示(V)] → [ツールバー(T)] → [フォーム] と進み、チェックボックスを選択しA1に配置 (オートシェイプを扱う要領で) (2)右クリック → [コントロールの書式設定(F)] → [コントロール] と進み、「リンクするセル(L)」にA1を選択し、[OK]を押す (3)A列を列選択し、[書式(O)] → [条件付き書式(D)] で条件を    「数式が」 「=$A$1=true」   として書式を設定する (4)セルA1の書式をユーザー定義で「;;;」とする (←A1の値を非表示にする設定) *(3)の選択範囲をA列ではなく1行目にすれば、行方向で色を変える設定になります

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

>まず、チェック項目みたいなボタンってつけれるんでしょうか。 それは、チェック・ボックスのことではありませんか? コントロールツールで、作るのが良いかもしれませんね。 (表示-ツールバー-コントロールツールボックス) ドラッグして、セルに貼り付けます。 後は、右クリックで、コードの表示 で、マクロの外身だけが出来ます。(Private Sub Check...~ End Sub) ツールバーの水色の三角形をオンにしたままですと、マクロは実行しません。 終わったら、ツールバーの三角形をオフにしてください。 でも、1列全体というのは、65536行まで、色が変わるということですから、それは、Excel全体の負担になるのですが、それでもよいのでしょうか? 色は、なるべく薄い色のほうが見やすいようです。 'サンプルコード Private Sub CheckBox1_Click() With CheckBox1 '上の名称と合わせる   If  .Value Then    .TopLeftCell.EntireColumn.Interior.ColorIndex = 34 '水色   Else    .TopLeftCell.EntireColumn.Interior.ColorIndex = xlNone   End If End With End Sub

回答No.2

No1です。 列全部の色を変更したいのですね。 失礼しました。 少し複雑になり、マクロの理解が必要ですが、 Dim myCol As Long ----------------------- Sub Macro1() myCol = ActiveCell.Column Columns(myCol).Select With Selection.Interior .ColorIndex = 8 .Pattern = xlSolid .PatternColorIndex = xlAutomatic End With Range("A1").Select End Sub ツール→マクロ→ビジュアルベーシックエディタ で上記のようなマクロを作成して、 ボタンへ割り当てれば、 選択されているセルのある列の色を水色にできます。

回答No.1

マクロという方法で可能です。 ツール→マクロ→新しいマクロの記録 で作成したマクロを下記に記入しました。 Sub Macro1() With Selection.Interior .ColorIndex = 8 .Pattern = xlSolid .PatternColorIndex = xlAutomatic End With End Sub オートシェイプ→基本図形あたりで、 ボタンの作成して、 上記のマクロを割り当てれば、 選択してあるセルの背景色が水色に変わります。

関連するQ&A

  • (EXCEL)チェックボックス,TRUE⇔スピンボタン,MAX+色変化

    お世話になります。質問させていただきます。 表題件ですが、先ず説明しやすくするために、 シート1のA列複数行にチェックボックス、B列複数行にMAX100(%)のスピンボタンが縦に並んでいると仮定させていただきます。 例えば、 (1)A4のチェックボックスにチェックを入れるとB4のスピンボタンが連動して自動的にMAX値100(%)となり、さらにA4とB4のセルの色が赤くなる。 また (2)B4のスピンボタンをMAX値100(%)とすると、連動して自動的にA4のチェックボックスにチェックが入り、さらにA4とB4のセルの色が赤くなる。 上記のようにするにはいかがするのでしょうか? 以下にイメージを記載します。 (コンマは、セル区切りを意味します。) A,B, checkbox(未check),70% →色変化なし checkbox(check入れた),100%(に自動変化) →A2B2が赤く  checkbox(自動的にcheck),100%(に設定) →A3B3が赤く  関数やVBAにお詳しい方がおられましたら、何卒アドバイスを頂戴したく存じます。 *なお、スピンボタンはフォーム、コントロールツールボックス、 どちらが適しているのか、恥ずかしながら、存じませんので、 そちらもアドバイスいただけましたら、大変に光栄に存じます。 よろしくお願い申し上げます。

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

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

  • チェックボックスにチェックをいれることでセルに色をつけたい(エクセル)

    行方向(例えばA2、B2、C2)に三つの項目「実施」「不十分」「未実施」を 置き、それぞれの項目の下の列方向に、表示→フォームからもってきたチェックボックスを入れます。 3つの項目のうち1つにしかチェックをいれない条件で 「不十分」にチェックをいれたときその横のD列のセルが黄色、「未実施」 にチェックをいれたときその横のD列のセルが赤色になるようにマクロを 組みたいのですが、いろんなサイトをみながらトライしても上手くいき ません。 学習した上で質問すればいいのですがその場渡りの質問で申し訳ありません。よろしくお願いいたします。

  • A列が今日の日付ならC列のセルの背景に色をつけたい

    A列が今日の日付ならC列のセルの背景に色をつけたい エクセル2007です。 A1に2012/03/04といれ、 下へオートフィルしています。 そしてC列に対して 「A列が今日の日付なら、セルの色を塗りつぶす」と言うようにしたいのですが 式がわかりません。 条件付き書式の 新しい書式ルール→「数式を使用して、書式設定するセルを決定」 で 「次の数式を満たす場合に値を書式設定」 に「=$A1=date()」と入れると 「入力した数式は正しくありません。」 となってしまいます。 どうすればいいでしょうか?

  • あるセル列内に任意の文字列があった場合の自動処理

    VBAを利用して、あるセル列内にある文字列があった場合に その文字列が存在した行のAセルからCセルまで自動的に 背景色をグレーにしてくれるような動きをしたいです。 簡単に言うと、「作業完了」の文字列があったらその行をグレーするイメージです。 参考例として、セルC列に対してその列内のあるCセル列に 文字列"@"が入力された場合、その行のA行からC行まで 自動的に背景色を変更したいです。 また、"@"が入力されていない場合は、元の背景色に戻るようにしたいです。 ■ 例1:C2に"@"が入力されるパターン 【入力前】  | A | B | C | -+---+---+---+- 1|   |   |   | -+---+---+---+- 2|   |   |   | ← 当然何も変化なし -+---+---+---+- 3|   |   |   | -+---+---+---+- 【入力後】  | A | B | C | -+---+---+---+- 1|   |   |   | -+---+---+---+- 2|////|////|/@/| ← ← C2に"@"が入力されるとA2~C2までの背景色をグレーに変更。 -+---+---+---+- 3|   |   |   | -+---+---+---+- 【削除】  | A | B | C | -+---+---+---+- 1|   |   |   | -+---+---+---+- 2|   |   |   | ← C2の"@"を消すと入力前に戻る。(元通り) -+---+---+---+- 3|   |   |   | -+---+---+---+- 任意の文字列をきっかけに自動実行するようには出来たのですが それから先がさっぱりで困っています、、、。 よろしくお願いします。

  • 【マクロ】列比較し色塗りしていく

       A             B               C 1 豚汁           豚の角煮          カレー 2 カレーライス      クリームカレー        煮    3 味噌汁         ハンバーグシチュー    ライス   4 ハンバーグ       赤飯             シチュー 5 オムレツ        鯖の味噌煮 6 オムライス 7 豚汁   EXCELに上記のようにA列、B列、C列にメニューが書いてあります。 【やりたいこと2点】 (1)A列とC列を比較 上から順にC列に入っている文字がA列のいずれかに含まれて(部分一致して)いれば、 セルを赤色に色塗り。 例)C1の「カレー」はA列の「カレーライス」に部分一致していますので 『C1』のセルを赤塗り、続いてC2の「煮」はA列のいずれかにも一致していないので、そのまま。 C3の「ライス」は「カレーライス」「オムライス」に部分一致していますので 『C3』のセルを赤塗り・・・・・ というように、C列に入っている値を上から順に見て行き赤塗りorそのままというように チェックを行いたいです。 (2)A列とB列とC列を比較 上から順にC列に入っている文字がA列、B列のどちらにも含まれていれば(部分一致)していれば、 セルを緑色に色塗り。 ※(1)の作業で赤塗になった箇所は上書きで緑になってOKです。 例)C1の「カレー」はA列の「カレーライス」B列の「クリームカレー」に部分一致しているので 『C1』のセルを"赤塗り"⇒"緑塗り"に変更、続いてC2の「煮」はB列に部分一致するメニューがあるが A列には存在しないので、セルの色はそのまま。 というように、Cの列に入っている値を上から順に見て行き緑塗りorそのままというように チェックを行いたいです。 お手数おかけ致しますがご教示お願い出来ませんでしょうか。 どうぞよろしくお願い致します。

  • エクセルで特定の文字列が入ったときの色変更

    現在エクセルを使って書類を作ろうとしているのですが、マクロを使わずに以下のことが出来ないかと思案中です・・・ ・セルA1に入力規則をつかい『 ,A,B,C』の項目を作成 ・もし、セルA1の文字が『A』だった場合、セルB1に書き込まれる文字は赤く染まる、『B』もしくは『C』だったばあいは文字の色は黒いまま このようなことは出来るのでしょうか・・・?

  • ボタンを押下したら列毎に数字を昇順に並べる。

    どなたかご存知でしたら回答をよろしくお願いします。 【質問】 下図の様に、A1~E5に1~99迄の数字が重複して入っています。 「並び替え」というボタンを押下するとA1~A5、B1~B5、c1~c5、 D1~D5、E1~E5のの数字を”昇順”に並び替えるにはどうすればよいですか? 〇例題   A B C D E 1 01 04 07 21 29     「並び替え」というボタン 2 02 03 16 27 30 3 15 20 26 28 99 4 11 18 19 24 25 5 10 13 14 17 23 〇結果   A B C D E 1 01 03 07 17 23 2 02 04 16 21 25 3 10 13 26 24 29 4 11 18 19 27 30 5 15 20 14 28 99 ※列毎に昇順に並び替えられる。 〇注意事項  ・使用するエクセルは2010です。  ・セルに入っている数字はランダムです。    ・セルの数字は表示上、2桁で表しています。(例:1ではなく01) 以上、よろしくお願いします。

  • カンマ区切りの文字列単位で色を付けたい

    A1セルに 【GetWindowText(a,b,c)】 と内容が記述してあります。 【現在】 GetWindowText関数の、 「aの部分を反転しフォント色を青にする。」 「bの部分を反転しフォント色を赤にする。」 「cの部分を反転しフォント色を紫にする。」 といったことを手作業でやっております。 【VBAでやりたいこと】 GetWindowText関数の引数、a,b,cをマクロによって、フォント色を付けたいのです。 a…青 b…赤 c…紫 (1)該当セル(A1)の文字列をコピーする (2)カンマ区切りで、文字を切る (3)色を付ける (4)A1セルに埋め込む みたいなことを考え、挑戦してみたのですがうまくいきませんでした。 ご教授の方よろしくお願いします。

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

    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の列を使って、同様に行えるようにできれば完璧なのですが…。  文章がつたなく申し訳ありません。ぜひ教えてください。

専門家に質問してみよう