使用下面的代码,我打开一个工作簿,然后我需要从打开的工作簿 (nb) 中的行中删除所有重复项。
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 Object Required 错误。
'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)