- ベストアンサー
Excelセルに色をつけるVBAを教えてください。
A1をクリックすると、セルが赤く塗りつぶしになり、 もう一度A1をクリックすると塗りつぶしなしにするVBAを教えてください。 A2やA3など指定セルも同様にしたいです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんばんは! No.1さんが仰っているようにダブルクリックの方法となります。 >A2やA3など指定セルも同様にしたいです・・・ とありますので、A1~A10セルでダブルクリックのVBAのコードの一例です。 ※ No.1さんと同じ内容になります。 ※ 他のセルでは何も変化ありません。 Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Intersect(Target, Range("A1:A10")) Is Nothing Then Exit Sub If Target.Interior.ColorIndex = xlNone Then Target.Interior.ColorIndex = 3 Else Target.Interior.ColorIndex = xlNone End If Cancel = True End Sub こんな感じではどうでしょうか? ※ 仮にA列すべての場合は >If Intersect(Target, Range("A1:A10")) の部分を >If Intersect(Target, Columns(1)) のようにします。 参考になりますかね?m(_ _)m
その他の回答 (1)
- trajaa
- ベストアンサー率22% (2662/11921)
機能要件不明瞭です。 まずクリックイベントは拾えませんので、ダブルクリックなどのイベントで代用する必要があります。 また『A2やA3など指定セルも同様にしたいです』で言うところの”指定”とは何の指定でしょうか? 事前にVBA内に定義するのでしょうか?それともシート上に定義するのでしょうか? 細部が解りませんが、取り敢えずダブルクリックを契機にアクティブセルの色変えを行う部分だけ Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Selection.Interior.ColorIndex = xlNone Then Selection.Interior.ColorIndex = 3 Else Selection.Interior.ColorIndex = xlNone End If End Sub