重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Me.Columns("CR")) Is Nothing Then
If IsNumeric(Target.Value) Then
If Target.Value > 0 And Target.Value = Int(Target.Value) Then
Target.Offset(, 1).Resize(, Target.Value).Interior.Color = vbBlue
End If
End If
End If
End Sub
のマクロを教えてもらったのですが、CR以外の所にも表を作ってっこれと同じ事をしたいのですが、
シートモジュールにこのマクロが重複していたらだめのでしょうか?例えば

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Me.Columns("DE")) Is Nothing Then
If IsNumeric(Target.Value) Then
If Target.Value > 0 And Target.Value = Int(Target.Value) Then
Target.Offset(, 1).Resize(, Target.Value).Interior.Color = vbBlue
End If
End If
End If
End Sub
こんな感じでシートモジュールに2つ

A 回答 (3件)

Caseでターゲットを分けるだけだと思うけど。


https://oshiete.goo.ne.jp/qa/3916211.html
    • good
    • 0
この回答へのお礼

お忙しい所回答有難うございます。すいません、わかりません。

お礼日時:2019/02/08 00:49

CR と DE を1つにまとめる、という手もあります。



If Not Intersect(Target, Union(Me.Columns("CR"), Me.Columns("DE"))) Is Nothing Then
    • good
    • 1
この回答へのお礼

お忙しい所回答有難うございます。
変えて試したのですが、出来ないです。

お礼日時:2019/02/09 23:42

>CR以外の所にも表を作ってっこれと同じ事をしたいのですが


処理内容として本当に「同じこと」であるならば、入口の条件チェックを拡張すれば済む話のように思えます。

>シートモジュールにこのマクロが重複していたらだめのでしょうか?
同じ名前のマクロを登録しようとしても、当然ながら、叱られるはずです。
    • good
    • 0
この回答へのお礼

お忙し所回答有難うございます。
考えてみたのですがわかりません。入口の条件チェックの拡張はどのようにすればいいのでしょうか?

お礼日時:2019/02/08 00:47

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