| 
    
     |  | ▼たつや さん: 
 複数セル範囲の変化時、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
 の制御も入れておいたほうが良いでしょう。
 
 |  |