• ベストアンサー

VBAでのcsv読み込みについて

 VBA初心者です。テキストファイル(ファイルの中はカンマ区切り)を別なEXCELシートではなくて、VBAを実行したEXCEL内のシート(例えばSheet2)に落としたいのですが、うまくいきません。  Workbooks.OpenText Filename:="C:\csv_test.txt", StartRow:=1, DataType:=xlDelimited, Comma:=True~ と記述すれば、別シートには落ちるのですが・・・。  簡単なことかもしれませんが、ご回答よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

下記ではcells(5,5),即ちE5を左上隅とする区画のセルに セットします。実際は2箇所を調整してください。 勿論パス名、ファイル名、セパレータの「,」なども 変えてください。 Sub test01() Open "c:\My Documents\aa1.txt" For Input As #1 i = 5: j = 5 While (Not EOF(1)) Line Input #1, a s = 1 p01: p = InStr(s, a, ",") If p = 0 Then GoTo p02 Cells(i, j) = Mid(a, s, p - s) j = j + 1 s = p + 1 GoTo p01 p02: i = i + 1 j = 5 Wend Close #1 End Sub 少数レコード例でテスト済み。

keyed
質問者

お礼

 早々のご回答ありがとうございました。 さっそく、実行してみたところうまくいきました。  この処理は他の処理にも使用できそうです。

その他の回答 (1)

  • 0shiete
  • ベストアンサー率30% (148/492)
回答No.1

ふつうに、ExcelでCSVファイルを開くときでも、別シートに落ちますよね。 ですから、別シートに落ちた後、ご希望のシートに移動なり、 コピーなりするとよいと思うのですが。 (試したわけではありませんので、うまくいくかどうか、、、)

keyed
質問者

お礼

 早々のご回答ありがとうございます。 別シートに落とした後にコピーしても うまくいきました。

関連するQ&A