- 締切済み
ボタンでその列の色がかわる
すいません。こんなことができるか、教えていただきたいのですが、 一つのセルにチェックボタンみたいなチェックを入れれるようなものをつけて、それをクリックするとその列の色が変わる・・・ みたいなことは可能でしょうか まず、チェック項目みたいなボタンってつけれるんでしょうか。 教えてください。 A B C 1 ボタン ←このボタンをクリックすると1の列の背景に色がつくみたいなもの 2 3
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- takibo
- ベストアンサー率57% (116/200)
マクロを使わない方法で、チェックボックスと条件付き書式でもできます。 たくさんの列や行に個別に設定するのは少々面倒かもしれませんが方法としては簡単だと思います。 【例】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)
>まず、チェック項目みたいなボタンってつけれるんでしょうか。 それは、チェック・ボックスのことではありませんか? コントロールツールで、作るのが良いかもしれませんね。 (表示-ツールバー-コントロールツールボックス) ドラッグして、セルに貼り付けます。 後は、右クリックで、コードの表示 で、マクロの外身だけが出来ます。(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
- a269783255
- ベストアンサー率17% (15/87)
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 ツール→マクロ→ビジュアルベーシックエディタ で上記のようなマクロを作成して、 ボタンへ割り当てれば、 選択されているセルのある列の色を水色にできます。
- a269783255
- ベストアンサー率17% (15/87)
マクロという方法で可能です。 ツール→マクロ→新しいマクロの記録 で作成したマクロを下記に記入しました。 Sub Macro1() With Selection.Interior .ColorIndex = 8 .Pattern = xlSolid .PatternColorIndex = xlAutomatic End With End Sub オートシェイプ→基本図形あたりで、 ボタンの作成して、 上記のマクロを割り当てれば、 選択してあるセルの背景色が水色に変わります。