Excel 运行时错误1004。对象工作表的方法范围失败
我得到一份工作 运行时错误“1004”:对象“工作表”的方法“范围”失败 我想这就是它所在的线路Excel 运行时错误1004。对象工作表的方法范围失败,excel,vba,Excel,Vba,我得到一份工作 运行时错误“1004”:对象“工作表”的方法“范围”失败 我想这就是它所在的线路 Set datarng = purchfcst.Range("A2:Q" & datalastrow) 我不确定是什么错误,因为我看不出这有什么错误 Sub updatepacksizecostandorders() Dim cofws As Worksheet, purchfcst As Worksheet Dim coflastrow As Long, purchlastrow As
Set datarng = purchfcst.Range("A2:Q" & datalastrow)
我不确定是什么错误,因为我看不出这有什么错误
Sub updatepacksizecostandorders()
Dim cofws As Worksheet, purchfcst As Worksheet
Dim coflastrow As Long, purchlastrow As Long
Dim datarng As Range
Set cofws = ThisWorkbook.Worksheets("COF Replen")
Set purchfcst = ThisWorkbook.Worksheets("purchase forecast")
coflastrow = cofws.Range("G" & Rows.Count).End(xlUp).Row
purchlastrow = purchfcst.Range("A" & Rows.Count).End(xlUp).Row
Set datarng = purchfcst.Range("A2:Q" & datalastrow)
For x = 2 To coflastrow
On Error Resume Next
cofws.Range("G" & x).Value = Application.WorksheetFunction.VLookup(cofws.Range("A" & x).Value.datarng, 2, False)
Next x
End Sub
对于初学者,
Rows.Count
应该是一个限定的引用:purchcst.Rows.Count
或者它只是引用活动工作表,而不是您假定它引用的工作表。然后确保datalastrow
不等于零,删除错误恢复下一步时的,并在第一行设置断点,然后逐行检查变量的值。你有一个周期,在这个周期中应该有一个逗号VLookup(cofws.Range(“a”&x).Value,datarng,2,False)
如何检查datalastrow不等于零?你需要像对待purchlastrow
等那样给它赋值。