使用下面的代码,我打开一个工作簿,然后需要从打开的工作簿(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