行の値が一致したら、行の値を転記する
「在庫」に一致する「受注」を「在庫あり(一致)」に転記する事例です。
ChatGPTで作成したVBAコード
Sub MatchAndCopyData() Dim ws As Worksheet Dim i As Long, j As Long, lastRow As Long, targetRow As Long ' 処理対象のシートを設定 Set ws = ThisWorkbook.Sheets("Sheet1") ' データの最終行を取得 lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row ' 3行目から処理開始 For i = 3 To lastRow ' A列、B列、C列の値を取得 Dim valueA As Variant, valueB As Variant, valueC As Variant valueA = ws.Cells(i, 1).Value valueB = ws.Cells(i, 2).Value valueC = ws.Cells(i, 3).Value ' E列、F列、G列と総当たりで一致するか確認 For j = 3 To lastRow If valueA = ws.Cells(j, 5).Value And valueB = ws.Cells(j, 6).Value And valueC = ws.Cells(j, 7).Value Then ' I列の最終行の一つ下の行を取得 targetRow = ws.Cells(ws.Rows.Count, "I").End(xlUp).Row + 1 ' A列、B列、C列の値をI列、J列、K列に転記 ws.Cells(targetRow, 9).Value = valueA ws.Cells(targetRow, 10).Value = valueB ws.Cells(targetRow, 11).Value = valueC Exit For End If Next j Next i End Sub
上のコードを作成するChatGPTのプロンプト
下記のVBAコードを、日本語のコメントをいれて作成してください。 処理対象:Sheet1で処理し、データは3行目から始まる。 処理:A列、B列、C列の値をE列、F列、G列の値に総当たりし、一致したらI列の最終行の一つ下のI列、J列、K列にA列、B列、C列の値を転記する。
ChatGPTで作成しました
無料のChatGPT(Microsoft Copilot)で作成しました。
30年前の私は、必要なVBAコードの完成に6か月かかりました。しかしChatGPTを使えば、初心者でもわずか5分でコードを作成できます。
上記のChatGPTのシートやセルを変更して、あなたのVBAコードを作成してください。
VBAコードは、期待通りに動作し、エラーが発生しないかを必ずテストしてください。
知りたいことやエラー修正は、ChatGPT(Microsoft Copilot)がダイレクトにお答えします。