- ベストアンサー
VBAでのcsv読み込みについて
VBA初心者です。テキストファイル(ファイルの中はカンマ区切り)を別なEXCELシートではなくて、VBAを実行したEXCEL内のシート(例えばSheet2)に落としたいのですが、うまくいきません。 Workbooks.OpenText Filename:="C:\csv_test.txt", StartRow:=1, DataType:=xlDelimited, Comma:=True~ と記述すれば、別シートには落ちるのですが・・・。 簡単なことかもしれませんが、ご回答よろしくお願いいたします。
- みんなの回答 (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 少数レコード例でテスト済み。
その他の回答 (1)
- 0shiete
- ベストアンサー率30% (148/492)
ふつうに、ExcelでCSVファイルを開くときでも、別シートに落ちますよね。 ですから、別シートに落ちた後、ご希望のシートに移動なり、 コピーなりするとよいと思うのですが。 (試したわけではありませんので、うまくいくかどうか、、、)
お礼
早々のご回答ありがとうございます。 別シートに落とした後にコピーしても うまくいきました。
お礼
早々のご回答ありがとうございました。 さっそく、実行してみたところうまくいきました。 この処理は他の処理にも使用できそうです。