エクセルで「クリックするだけで塗りつぶし」にするには、どうすればいいですか?

エクセルで「クリックするだけで塗りつぶし」にするには、どうすればいいですか? エクセルでチェックシートを作成中です。 印刷した物に現場でチェックを入れ、事務所に戻ってからPCのエクセルファイルに入力する…という使い方をするのですが、現在は該当する項目の横のセルを一つずつ選択して塗りつぶしています。 この作業が面倒なので、クリックするだけで塗りつぶしができる様にしたいのですが、初心者なのでやり方がわかりません。 なるべく簡単なやり方があれば教えて頂きたいです。

Excel76,708閲覧

1人が共感しています

ベストアンサー

このベストアンサーは投票で選ばれました

9

クリックだけで、というのでしたら、マクロ処理になります。 A列のセルをクリックするとそのセルを赤く塗りつぶし、再度同じセルをクリ ックすると塗りつぶしを解除するサンプルですが、簡単ですので以下の操作を 挑戦してみてください。 シートタブを右クリックして表示されるメニューから[コードの表示]を選択し、 そこで開かれるウィンドウに以下をコピペしたら、そのウィンドウを閉じます。 ----- Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Column <> 1 Then Exit Sub '※1 Select Case Target.Interior.ColorIndex Case Is = xlNone Target.Interior.ColorIndex = 3 '※2 Case Else Target.Interior.ColorIndex = xlNone End Select End Sub ※1:数字の 1 はA列を意味します。C列なら 3 です。 ※2:数字の 3 は赤で、4=緑、5=青、6=黄、7=ピンク、8=水色、です。

9人がナイス!しています

その他の回答(4件)

1

> クリックするだけで塗りつぶし クリック時では、操作性が悪く、殆ど使い物にならないと思います。 もし、Wクリックした時で良ければ、こんな感じです。 一応、VBAコードの設定方法を書いておきます。 ・使用しているシートのシート名タブを右クリックして「コードの表示」を 指定し、開いたコードウィンドウに下記コードをコピーして貼り付けます。 ・Alt+ Q (または、右上隅の×)でウィンドウを閉じ、シートに戻ります。 ・メニューから[ツール]-->[マクロ]-->[セキュリティ]で「セキュリティレベル」を 「中」にして[OK]します。 (Excel 2003) Excel2007~のときは、メニューが違いますが、セキュリティレベルを 「警告を表示してすべてのマクロを無効」にします。 ・以上で設定完了です。 Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Const Hani = "A1:C20" ' <--- 機能範囲を指定 Const Iro As Variant = 6 ' <--- 色を指定(↓を参照) '赤=3, 緑=4, 青=5, 黄=6, ピンク=7, 水=8, 茶=9, 灰=15(標準設定のとき) Dim Rng As Range Set Rng = Intersect(Range(Hani), Target) If Not Rng Is Nothing Then Cancel = True Rng.Interior.ColorIndex = Iro End If Set Rng = Nothing End Sub '------- もし、間違って着色した等で、消したい場合にも対処するなら、こちらのコードを使用してください。 指定範囲内の色の着いたセルをWクリックすると色が消えます。 ・Wクリックで着色したものだけか、全ての色を対象にするか ’の付替えで選択してください。 Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Const Hani = "A1:C20" Const Iro As Variant = 6 '赤=3, 緑=4, 青=5, 黄=6, ピンク=7, 水=8, 茶=9, 灰=15 Dim Rng As Range Set Rng = Intersect(Range(Hani), Target) If Not Rng Is Nothing Then Cancel = True If Rng.Interior.ColorIndex = xlNone Then Rng.Interior.ColorIndex = Iro Else Rng.Interior.ColorIndex = xlNone ' <-- 全ての色を対象に消去するとき 'If Rng.Interior.ColorIndex = Iro Then Rng.Interior.ColorIndex = xlNone ' Wクリックで着けた色だけを消す場合は、こちら↑を有効にする End If End If Set Rng = Nothing End Sub

1人がナイス!しています

1

マクロの処理をしないと無理ですね。 マクロが面倒であれば、コピペの要領でやるしかないのではないですか?

1人がナイス!しています

1

life8862さん 適用するセルを「ダブルクリック」した時に色(黄色)を付けます。 間違って色を付けたら、そのセルを「ダブルクリック」すると、色は消えます。。 その範囲が分かっていれば、その範囲内のみ適用できますよ… とりあえず、そのシート全部のセルです。 Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) With Target.Interior If .ColorIndex = xlNone Then .ColorIndex = 6 Else .ColorIndex = xlNone End If End With Cancel = True End Sub ************<<シートモジュール>>***************** <マクロの張り付け方> 上記のコードをコピーして、、 入力シートの「シートタブ内」で右クリックして、「コードの表示」を選択すると、 VBE画面になりますので、右の大きな窓のカーソルのところにコードを貼り付けます。 もう、この画面はいらないので右上の「×」をクリックすると、元のシートに戻ります。 <マクロの実行> 目的のセルを「ダブルクリック」するのみ。。

1人がナイス!しています

0

例えば、0を入力すると、そのセルに色がつく・・・というのならわかるのですが。 対象のセル選択時に、書式⇒条件付き書式⇒セルの値が次の値に等しい 0 で、 書式(F)の設定でパターン⇒色(C):にて好きな色を選んでください 質問のようなことができるなら私も知りたいので、とりあえず一案として回答しました