質問: VBAについて教えてください。 下図のようなシートがそれぞれあります。 "Sheet1"のパーツ番号と"Sheet2"のパーツ番号が一致したとき "Sheet1"の入力日(///部分)に今日の日付を入れるマクロを作りたいのです。
回答: Sheet2のシートのイベントを利用しています。下記のコードをSheet2に設定してください。 コメントを入れてありますが、不明な点は補足してください。 念のため、シートのイベントプロシージャの設定方法です。 1シート名(タブ)の上で右クリックします。 2コンテキストメニュー中の「コードの表示」を選択します。 3VBE画面になりますので空白な場所へ、 下記のコードをコピー、貼り付けます。×で終了です。 Private Sub Worksheet_Change(ByVal Target As Range) '入力されたセル(Target)がSheet2のC列であるかをチェック If Intersect(Target, Range("C:C")) Is Nothing Then Exit Sub 'Sheet1のA列の2行目から最終行まで検索するように設定 For i = 2 To Worksheets("Sheet1").Cells(Rows.Count, "A").End(xlUp).Row If Target.Value = Worksheets("Sheet1").Cells(i, "A").Value Then 'Sheet1のA列で番号が一致したら、同じ行のD列に当日の日付を入れる Worksheets("Sheet1").Cells(i, "D") = Date End If Next i End Sub