掙扎着一點點的代碼,我正在做我的頭 - 我試圖比較兩個工作表,並根據所提供的所有信息刪除重複的行。理想的結構是將PasteCSV與OriginalCSV進行比較。重複的行,然後將宏檢查刪除了該行,如果所有的數據匹配 - 我試圖用if語句來退出這個功能,但不是100%肯定,如果我做是正確的:接下來沒有錯誤在循環中的excel vba
Sub DeleteDuplicates()
Dim Row As Long
Dim Vendor As Range
Dim Software As Range
Dim Version As Range
Sheets("PasteCSV").Select
Columns("A").Delete
For Row = Range("A65536").End(xlUp).Row To 1 Step -1
Set Vendor = Sheets("OriginalCSV").Range("A").Find(Cells(Row, 1), LookIn:=xlValues, lookat:=xlWhole)
If Not Vendor Is Nothing Then
Set Software = Sheets("OriginalCSV").Range("B").Find(Cells(Row, 1), LookIn:=xlValues, lookat:=xlWhole)
If Not Software Is Nothing Then
Set Version = Sheets("OriginalCSV").Range("C").Find(Cells(Row, 1), LookIn:=xlValues, lookat:=xlWhole)
If Not Version Is Nothing Then
Cells(Row, 1).EntireRow.Delete
End If
Next Row
Sheets("PasteCSV").Cells.Copy
Sheets(Sheets.Count).Select
Range("A1").Select
ActiveSheet.Paste
Application.CutCopyMode = False
End Sub
任何幫助將不勝感激!
我認爲,該錯誤信息導致你錯了。因爲每個'If'都需要他自己,所以你缺少兩個'End If'。 – IQV
如果您缺少兩個結尾。或者你應該用Else替換你的第二和第三個IF。 – Luuklag