我不明白错误1004

时间:2015-11-28 03:24:35

标签: excel vba

为什么我在这里得到错误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

1 个答案:

答案 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。这意味着该工作表中的行数,而不是从任何工作表中删除的行数。