0
For indY as Integer = 1 To xLsheet.UsedRange.Rows.Count Then
If aRndLAcctNo.Contains(xLsheet.Cells(indy + 1, 2).Value.ToString()) Then
aRndLTotProd.Add(Indy)
End If
Next

当我将它设置为“到 1000”时,它运行良好。但是当我使用 'To xLsheet.UsedRange.Rows.Count' 时,它会引发错误。我的 excel 文件包含 16000 行。请帮助如何优化 For 循环。或者,如果您可能会建议另一种方法,我可以获取 excel 文件的行,其中包含已经在 arndLacctNo 字符串列表中的项目。

4

1 回答 1

2

您在这里遇到的主要问题是您没有研究错误消息的文本,其次也没有在您的问题中包含错误消息。

假设你收到这样的东西:

prog.vb (5,63) : Error VBNC30205: Expected end of statement.

这告诉您,“在 fileprog.vb的第 5 行第 63 列中,您有一个错字;而不是语句的结尾,您还有其他内容”。

在我的例子中,第 5 行第 63 列是Then没有相应的If潜伏的地方。查看您自己的错误消息,找到您自己的代码位置,然后删除那里有问题的关键字。这是一个简单的语法错误,与行数无关。

于 2012-07-02T14:56:23.563 回答