将唯一 ID 从一张纸复制到另一张纸

问题描述 投票:0回答:1

我想将唯一 ID 从一张纸复制到另一张纸上。

代码给了我

对象“_worksheet”的方法“Range”失败

Private Sub PopulateUniqueIds()
Dim ws1 As Worksheet
Dim ws2 As Worksheet

Set ws1 = ThisWorkbook.Sheets("Sheet1")
Set ws2 = ThisWorkbook.Sheets("Sheet2")
lastrows2 = GetLastRow(ws2)

ws2.Range("C4:C" & CStr(lastrows2)).AdvancedFilter Action:=xlFilterCopy, CopyToRange:=ws1.Range("B9"), Unique:=True
End Sub

ws2 和 ws1 是 WorkSheet 对象。

我收到此错误:

ws2.Range("C4:C" & CStr(lastrows2)).AdvancedFilter Action:=xlFilterCopy, CopyToRange:=ws1.Range("B9"), Unique:=True
excel vba copy-paste
1个回答
1
投票

我相信 destination

range
已经填充了一个与其将要填充的值不对应的值

所以最好清除它:

ws1.Range("B9").ClearContents
ws2.Range("C4:C" & CStr(lastrows2)).AdvancedFilter Action:=xlFilterCopy, CopyToRange:=ws1.Range("B9"), Unique:=True
© www.soinside.com 2019 - 2024. All rights reserved.