|
▼たつや さん:
複数セル範囲の変化時、Worksheet_Changeには複数セル範囲が渡されます。
Sub test()
Range("A1:A2").Value = 1
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
Debug.Print Target.Address
End Sub
この場合のTargetは複数セル範囲。
>If Target.Value <> "" Then
これは
If Range("A1:A2").Value <> "" Then
などと書いている事と同じになります。
あるいは
Dim v As Variant
v = Range("A1:A2").Value
If v <> "" Then
Range("A1:A2").Valueは配列です。
If 配列 <> "" Then
という配列に対する <>"" 評価はできないですね?
Dim r As Range
For Each r In Target
:
といった感じでTargetの個々に対して処理する必要があります。
Application.EnableEvents = False/True
の制御も入れておいたほうが良いでしょう。
|
|