使用下面的代碼,我打開一個工作簿,然後需要從打開的工作簿(nb)中的行中刪除所有重複項。VBA刪除另一個工作簿中的重複行
Dim nb As Workbook, tw As Workbook, ts As Worksheet
a = Application.GetOpenFilename
If a = False Or IsEmpty(a) Then Exit Sub
With Application
.ScreenUpdating = False
End With
Set tw = ThisWorkbook
Set ts = tw.ActiveSheet
Set nb = Workbooks.Open(a)
我試圖得到這個工作的各種方法,但它似乎我爲了把這種對工作簿缺少的重要部分。我得到一個424對象所需的錯誤。
'Remove duplicates
Dim r As Range
c = nb.ActiveSheet.UsedRange.Rows.Count
LR = c - 1
Set r = nb.ActiveSheet.Range("A8:H" & LR)
r.RemoveDuplicates Columns:=Array(1), Header:=xlNo
是給予(需要424對象)錯誤的線,是
r.RemoveDuplicates Columns:=Array(1), Header:=xlNo
我想這是因爲r是一個範圍,而不是設定爲特定的工作簿,
當我查看對象r時,它將顯示在錯誤工作簿中的工作表上。我不理解爲什麼,因爲我明確地標記R爲外部工作簿這裏
Set r = nb.ActiveSheet.Range("A8:H" & LR)
您分配'LR'兩個值和我相信'LR = -1'需要是' LR = LR - 1'?因爲現在'LR = -1'和'H-1'不是有效的單元格。 – CustomX
是的,我修正了這個問題。 LR未設置爲行數-1,因爲最後一行是總計行。 – Tommy