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

「To 1000」に設定すると、うまく機能します。しかし、「To xLsheet.UsedRange.Rows.Count」を使用すると、エラーがスローされます。私のExcelファイルには16000行が含まれています。For ループを最適化する方法を教えてください。または、既に文字列の arndLacctNo リストにある項目を含む Excel ファイルの行を取得できる別の方法を提案する場合..

4

1 に答える 1

2

ここでの主な問題は、エラー メッセージのテキストを調べていないことと、ここでの質問にエラー メッセージを含めていないことです。

次のようなものを受け取ったとします。

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

これは、「ファイルprog.vbの 5 行目の 63 列目にタイプミスがあります。ステートメントの終わりの代わりに、別の何かがある」ことを示していました。

私の場合、5 行目の 63 列目Thenに、対応する a のない aIfが潜んでいます。独自のエラー メッセージを見て、独自のコードの場所を見つけ、そこにある問題のあるキーワードを削除します。行数とは関係のない単純な構文エラーです。

于 2012-07-02T14:56:23.563 に答える