2つの表を比較し、他方の表に存在しない行や異なる行に色を付ける
「前日在庫」に存在しない行や異なる行の「本日在庫」に色を付ける
ChatGPTで作成したVBAコード
Sub CompareAndHighlight() Dim ws As Worksheet Dim lastRow As Long Dim lastCompareRow As Long Dim i As Long, j As Long Dim targetString As String Dim compareString As String Dim matchFound As Boolean ' 「Sheet1」シートを設定 Set ws = ThisWorkbook.Sheets("Sheet1") ' 処理対象のデータの最終行を取得 lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row ' 比較対象のデータの最終行を取得 lastCompareRow = ws.Cells(ws.Rows.Count, "E").End(xlUp).Row ' 各行の文字列を連結して比較 For i = 3 To lastRow matchFound = False ' A列からC列の文字列を連結 targetString = ws.Cells(i, "A").Value & ws.Cells(i, "B").Value & ws.Cells(i, "C").Value For j = 3 To lastCompareRow ' E列からG列の文字列を連結 compareString = ws.Cells(j, "E").Value & ws.Cells(j, "F").Value & ws.Cells(j, "G").Value ' 連結した文字列を比較 If targetString = compareString Then matchFound = True Exit For End If Next j ' 比較対象に無い場合、A列からC列を黄色に塗る If Not matchFound Then ws.Range(ws.Cells(i, "A"), ws.Cells(i, "C")).Interior.Color = RGB(255, 255, 0) End If Next i End Sub
上のコードを作成するChatGPTのプロンプト
下記のVBAコードを、日本語のコメントをいれて作成してください。 処理対象:「Sheet1」シートのA3セルからC3セルがデータの1行目の表。 処理1:処理対象の各行の文字列を連結し、「Sheet1」シートのE3セルからG3セルががデータの1行目の表の各行と総当たりで比較する。 処理2:処理対象の行と同一の行が、比較対象に無い場合、処理対象のA列からC列を黄色に塗る。
ChatGPTで作成しました
無料のChatGPT(Microsoft Copilot)で作成しました。
30年前の私は、必要なVBAコードの完成に6か月かかりました。しかしChatGPTを使えば、初心者でもわずか5分でコードを作成できます。
上記のChatGPTのシートやセルを変更して、あなたのVBAコードを作成してください。
VBAコードは、期待通りに動作し、エラーが発生しないかを必ずテストしてください。
知りたいことやエラー修正は、ChatGPT(Microsoft Copilot)がダイレクトにお答えします。