2016-07-11 23 views
-1

VBAでCSVを読み込もうとしています。VBAでCSVを読み取る際にエラーが発生しました

peter,paris,23 
mary,london,34 
steve,rome,56 
lily,madrid,65 

コードを実行して、私はエラーを取得:これは私のCSV

Sub OpenTextFile() 

Dim FilePath As String 
FilePath = "C:\path\to\file\mycsv.csv" 
Open FilePath For Input As #1 
row_number = 0 

Do Until EOF(1) 
    Line Input #1, LineFromFile 
    LineItems = Split(LineFromLine, ",") 

    ActiveCell.Offset(row_number, 0).Value = LineItems(2) 
    ActiveCell.Offset(row_number, 1).Value = LineItems(1) 
    ActiveCell.Offset(row_number, 2).Value = LineItems(0) 

    row_number = row_number + 1 
Loop 

Close #1 

End Sub 

です:this tutorialを以下のとき、私は以下のコードを取得

Index out of range

をそして、この行があります黄色:

ActiveCell.Offset(row_number, 0).Value = LineItems(2) 
+0

'ActiveCell'は何範囲を関連していますいつこのエラーが発生するのですか? –

+0

@MacroMan:私はVBAを初めて使う人です。私が持っているエラーに関する唯一の情報、私はすでに提供しています。これがエラーメッセージとエラー行です。 – user1170330

+0

"私はVBAに新しいです"と言えば、実際には十分ではありません.Googleでは「Range」と「ActiveCell」の意味は何ですか?あなたの質問に努力を払わなければ、人々はそれに答えようと努力しません。 –

答えて

3

あなたはタイプミスがあります

LineItems = Split(LineFromLine, ",") 

はあなたのモジュールの先頭でOption Explicitを使用した場合これは起こらなかっただろう

LineItems = Split(LineFromFile, ",") 

である必要があります。)

+1

実際にはそれを解決します。これは、**常に**各**モジュールの先頭に 'Option Explicit'を含めるためのもう一つの良い例です。 – Ralph

+0

それは本当にタイプミスでした。ありがとうございました。 – user1170330

関連する問題