- ベストアンサー
テキストファイルをエクセルに読み込むには
- テキストファイルの内容を、1行ずつエクセルのA列に読み込む方法を教えてください。
- VBAを使用してテキストファイルをエクセルに読み込む方法について教えてください。
- テキストファイルの形式や空白の調整によってエクセルへの読み込みがうまくいかない場合の対処法を教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
マクロの記録でやってみればいいのでは? 試しにやってみたところ ファイル形式の指定で 「カンマやたぶなどの区切り記号で・・・」とデータ形式を指定し 「区切り文字」の部分で区切り文字をすべてのチェックを外して読み込んだ場合、タブで空白調整した場合はタブがすべて無視されてみじレスが詰まって読み込まれます。 「区切り文字」の部分で区切り文字をタブに指定するとタブのある行ではタブの数だけセルが右方向にずれて読み込まれました 後、バックスラッシュはすべて ¥ に変更されました VBA で直接書くならこんな感じかと Sub sample() Dim D() As String, f As Integer, w As String, fn As String, r As Integer, i As Integer f = FreeFile fn = "f:\okazu.txt" Open fn For Input As f r = 1 Do Until EOF(f) r = r + 1 Line Input #f, w D() = Split(w, vbTab) i = UBound(D) If i = 0 Then ' tab が一つも無い Cells(r, 1).Value = D(0) Else ' tab が複数ある w = "" For c = 0 To i w = w & D(c) & " " ' tab を スペース 4個に置き換える Next c Cells(r, 1).Value = Trim$(w) End If Loop Close f End Sub
その他の回答 (1)
- imogasi
- ベストアンサー率27% (4737/17069)
回答するためのテキストファイルの要点の説明が不十分だと思う。 質問にはokazu.txtの状態を、十分勉強し説明することが大切。 ーーー・・や===・・はイメージではないのですか。 実際のテキストファイルにはそれらの文字はあるのですか。 要点は項目区切りが、カンマやタブや改行のどれかということが大切。 メモ帳に読み込んで、その状態を説明するとかがわかりやすい。 それでも、画面では見えない改行やTABやスペースその他の文字が入っている場合がある。16進の表示ができるテキストエディタで、読んで表示してみるのが最も正確なのだが、そんなの思ってもいないだろうし。 第2レコード、第3レコード、・・を区切る(分ける)のは(文字は)どうなっていますか。そもそもファイルを構成するレコードの考えに至っていますか。 テキストファイルは、1本の「ひも」のように文字が連なったものなのですよ。 これを特殊文字・記号や場合によっては文字列の意味によって、質問者のいう「希望する状態」に再構成しないとならない。 >VBAだとどうなりますか 付随してVBAに関心があるだけですか(質問ぶりから、VBAでやるのは、すぐは無理ではないかな)。VBAでなくても実現すればそれでよいのですか。 できればテキストファイルの1つか,2つのレコードを質問に補足掲示されては。 この回答の記述が、うるさいと思うようなら、VBAは時期尚早かと思う。
お礼
回答ありがとうございます。 テキストファイル本文には =や・ / ¥ など (特殊記号というのでしょうか)が 文章中につかわれてます。
お礼
回答ありがとうございました。 なぜか =が テキスト本文に入っていると Cells(r, 1).Value = D(0) 実行時エラー 1004 になってしまいます。