こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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

 VBA初心者です。テキストファイル(ファイルの中はカンマ区切り)を別なEXCELシートではなくて、VBAを実行したEXCEL内のシート(例えばSheet2)に落としたいのですが、うまくいきません。

 Workbooks.OpenText Filename:="C:\csv_test.txt", StartRow:=1, DataType:=xlDelimited, Comma:=True~
と記述すれば、別シートには落ちるのですが・・・。

 簡単なことかもしれませんが、ご回答よろしくお願いいたします。

投稿日時 - 2003-02-13 15:54:57

QNo.471879

すぐに回答ほしいです

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

下記では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
少数レコード例でテスト済み。

投稿日時 - 2003-02-13 20:53:18

お礼

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

投稿日時 - 2003-02-13 22:06:31

ANo.2

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

ふつうに、ExcelでCSVファイルを開くときでも、別シートに落ちますよね。

ですから、別シートに落ちた後、ご希望のシートに移動なり、
コピーなりするとよいと思うのですが。
(試したわけではありませんので、うまくいくかどうか、、、)

投稿日時 - 2003-02-13 16:21:10

お礼

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

投稿日時 - 2003-02-13 22:08:38

あなたにオススメの質問