我试图从第2行“Sheet1”开始复制A列,并将其从第5行开始粘贴到工作表“ABC”上的C列中。Column A是可变的,所以我不能使用固定范围。将动态范围从一个工作表复制并粘贴到另一个
下面的代码做什么,我需要的,但我试图避免使用。选择和.Activate
LastRow = Range("A" & Rows.Count).End(xlUp).Row
Sheets("Sheet1").Range("A2:A" & LastRow).Copy
Sheets("ABC").Activate
Sheets("ABC").Range("C5:C" & LastRow).Select
Selection.PasteSpecial xlPasteValues
我试着设置等于使用此代码彼此列:
Sheets("ABC").Range("C5").End(xlDown).Value=Sheets("Sheet1").Range("A2:A" & LastRow).Value
这运行没有错误,但它“什么都不做” - 没有数据出现在工作表“ABC”
我也试过如下:
Dim WS As Worksheet
Dim wsABC As worksheet
Set WS = Sheets("Sheet1")
Set wsABC = Sheets("ABC")
LastRow = Range("A" & Rows.Count).End(xlUp).Row
WS.Range("A2:A" & LastRow).Copy
wsABC.Range("C5").End(xlDown).Paste
这将产生一个“运行时错误#438对象不支持此属性或方法”在这条线错误:
wsABC.Range("C5").End(xlDown).Paste
我尝试的另一种方法是如下:
Dim WS As Worksheet
Set WS = Sheets("Sheet1")
Set wsABC = Sheets("ABC")
With WS
LastRow = Range("A" & Rows.Count).End(xlUp).Row
WS.Range("A2:A" & LastRow).value = wsABC.Range("C5:C & LastRow").Value
End With
这会产生一个“运行时错误'1004'应用程序定义或对象定义的错误。
我打开纠正/评论任何我的尝试,我只是想避免使用.Select和.Activate。
预先感谢您的时间和帮助!