dポイントプレゼントキャンペーン実施中!

エクセル VBA セルをクリックすると色が変わる

今、管理表の作成をしているのですが、手詰まりになり質問させてもらいました。

早速ですが、VBAでセルをクリックするとそのセルの色が変わるといったようなマクロを組んでいます。
色を変えたいのは、A1~A4までの4個のうち1個だけなのでA1がクリックされればA2~A4までは『色なし』。
これに加えて、B1~B4、C1~C4といったように、複数の箇所で同じように組むことは可能でしょうか?
よろしくお願いいたします。

A 回答 (4件)

>連動させるのではなく、同じ機能を別々でできるようにしたいのです。



その解釈で投稿したのがNo.2のコードで
列ごとに設定しているのですが・・・m(_ _)m
    • good
    • 0
この回答へのお礼

すいません、もう一度やってみたら解決できました!
何度も何度も返信ありがとございました!
助かりました(;´∀`)

お礼日時:2020/09/19 20:23

No.2です。



>A1~A4の中のA2をクリックしたらA2以外を空白
>この機能をB1~B4,C1~c4とやりたいのですが、できますか?

結局A列だけの選択で連動してC列までの同じ行の色を変化させたい!
という意味でしょうかね?

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 If Intersect(Target, Range("A1:A4")) Is Nothing Or Target.Count > 1 Then Exit Sub
  Range("A1:C4").Interior.ColorIndex = xlNone
   With Target
    Range(Cells(.Row, "A"), Cells(.Row, "C")).Interior.ColorIndex = 6
   End With
End Sub

※ 今回も当方の解釈間違いならごめんなさい。m(_ _)m
    • good
    • 0
この回答へのお礼

えっと、連動させるのではなく、同じ機能を別々でできるようにしたいのです。
何度もすいません(汗)

お礼日時:2020/09/19 18:54

こんにちは!



A1~C4セルを対象としてみました。
シートモジュールです。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 If Intersect(Target, Range("A1:C4")) Is Nothing Or Target.Count > 1 Then Exit Sub
  With Target
   Range(Cells(1, .Column), Cells(4, .Column)).Interior.ColorIndex = xlNone
    .Interior.ColorIndex = 6 '//←黄色//
  End With
End Sub

こんな感じではどうでしょうか?m(_ _)m
    • good
    • 1
この回答へのお礼

私のミスかもしれませんが、うまくいかないです(汗)
あと、ちょっと説明が下手だったかもしれないんですが、
A1~A4の中のA2をクリックしたらA2以外を空白
この機能をB1~B4,C1~c4とやりたいのですが、できますか?

お礼日時:2020/09/19 15:41

A1~A4までをやってる処理をコピーして、B1~B4、C1~C4の処理を作る。

    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています