両方のワークシートの列Aのセルの値が一致していませんが、私は間違った出力とすべてのデータを削除します。適切なバージョンのコードを教えてください。VBAコードは、その行の特定の列の値が別のワークシートで一致しない場合に行を削除します
Lastrowo = ws1.Cells(Rows.Count, "B").End(xlUp).Row
Lastrowc = ws2.Cells(Rows.Count, "B").End(xlUp).Row
For x = 1 To Lastrowo
For m = 1 To Lastrowc
If Workbooks("A.xlsx").Sheets("Sheet1").Cells(x, 1).Value <>
Workbooks("B.xlsx").Sheets("Sheet1").Cells(m, 1).Value Then
Workbooks("A.xlsx").Sheets("Sheet1").Rows(x).EntireRow.Delete
Workbooks("B.xlsx").Sheets("Sheet1").Rows(m).EntireRow.Delete
End If
Next m
Next x
は今 –
なぜあなたは、ブックBのためにも、 'X'変数を使用していけない、Uにそれは明らかですか?本当に2番目のループが必要ですか? –
ループ内で行を削除するようにフラグを立て、フラグ付きの行をすべて削除する別のループを追加してください。あなたが行ったように削除すると、あなたのループが台無しになる – DeanOC