您好我试图使用.copy_目标语法,而不是复制和粘贴VBA循环,我得到了一个"对象范围' _Worksheet失败错误
目前我的代码看起来像这样
For x = 3 To LastHBR
If InStr(1, HBWS.Cells(x, Tickercolumn - 1), "Total") = 0 Then
HBWS.Range(Cells(x, 1), Cells(x, ClastHBC)).Copy _
Destination:=MWS.Range(Cells(LastMWSR + x - 2, 3), Cells(LastMWSR + x - 2, CLastMWSC))
End If
Next
知道为什么该范围会引发错误?我已尝试了一些变化但我无法降落。
供参考
HBWS& MWS是定义的工作表
ClastHBC,LastMWSR等...定义了工作表中的最后一行/列。
答案 0 :(得分:3)
可能是因为您需要使用工作表名称限定所有单元格引用,否则将假定活动工作表。
For x = 3 To LastHBR
If InStr(1, HBWS.Cells(x, Tickercolumn - 1), "Total") = 0 Then
HBWS.Range(HBWS.Cells(x, 1), HBWS.Cells(x, ClastHBC)).Copy _
Destination:=MWS.Range(MWS.Cells(LastMWSR + x - 2, 3), MWS.Cells(LastMWSR + x - 2, CLastMWSC))
End If
Next