投稿/コメントを表示します。

小川先生
いつも、お世話になっています。
つまずきながらですが、勉強させて頂いています。感謝!

動画22の講義を学んで、ここに戻ってきました。
下記のとおり、For Each構文を使用して実行してみましたが、上手く機能しませんでした。
(キャンペーンタイプをコピーして複数に貼り付けても反映されません)
書き方に問題があるのでしょうか?
添削の程、よろしくお願いします。
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim r
    If Target.Count > 1 Then
        Exit Sub
    End If

    If Target.Row <= 6 Then
        Exit Sub
    End If
    
    If Target.Column <> 3 Then
        Exit Sub
    End If
    
    If Target.Value <> UCase(Target.Value) Then
        Target.Value = UCase(Target.Value) '受け取った文字列を大文字に直す
    End If
    
☞  For Each r In Target
        If r.Value = "D" Then
            Target.Offset(, 1).Value = "DVD無料"
        ElseIf r.Value = "C" Then
            Target.Offset(, 1).Value = "CD無料"
        ElseIf Target.Value = "J" Then
            r.Offset(, 1).Value = "ジャケット無料"
        Else
            r.Offset(, 1).ClearContents
        End If
   Next
End Sub

2018/04/15 13:26