为什么我在这里得到错误1004:
ILast = .Cells(Rows.Count, 1).End(xlUp).Row
我试过
Sheets("MFG_DATA").Cells(Rows.Count, 1).End(xlUp).Row
然后我收到错误9。
这是它所在的循环,
With DCSPROGRAM.Sheets("MFG_DATA")
ILast = .Cells(Rows.Count, 1).End(xlUp).Row
For i = 1 To ILast
If .Cells(i, 1).Value = MFG Then
FORM.Cells(8, 2) = .Cells(i, 3).Value
我有一个非常类似于它的循环,它不会触发错误1004:
With Wbk.Sheets("QTR_LOG")
ILast = .Cells(Rows.Count, 1).End(xlUp).Row
For i = 1 To ILast
If .Cells(i, 1).Value = QTR_NUM Then
.Cells(i, 6) = TOTALFOB
.Cells(i, 7) = TOTALWC
.Cells(i, 10) = TOTALTIME
答案 0 :(得分:1)
DCSPROGRAM 是否在其工作表中最多包含65,536行的XLS?如果您正在运行XLSX中的代码,则Rows.Count
表示1,048,576。尝试是,
With DCSPROGRAM.Sheets("MFG_DATA")
ILast = .Cells(.Rows.Count, 1).End(xlUp).Row
...
End With
请注意.
中的.Rows.Count
。这意味着该工作表中的行数,而不是从任何工作表中删除的行数。