• ベストアンサー

VBAでテキストファイルからデータを読み込む方法

VBAでテキストファイルからデータを読み込む方法を探しています。 コンマ区切りのデータを、エクセルに書き込みたいです。 テキストファイルにはコンマ区切りで6個のデータを書き込んであります。 それを、セルD3からD7に書き込む方法を教えていただきたいです。よろしくお願いします。

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

  • ベストアンサー
回答No.1

お世話になります。 D3 ~ D7 って 5 個しかセルがないのですが...。 いいんでしょうか。 とりあえず、こんな感じでしょうか。 Private Sub CommandButton1_Click()   Dim inputeds() As String   Dim inputed As String   Dim fileNo As Integer      fileNo = FreeFile()   Open "c:\test.csv" For Input As #fileNo   Line Input #fileNo, inputed   Close #fileNo   inputeds = Split(inputed, ",", -1)      Dim i As Integer   For i = 3 To 7     Dim rng As Range     Set rng = Sheet1.Range("D" & CStr(i))     rng.Value = inputeds(i - 3)     Set rng = Nothing   Next i End Sub

tudatuda
質問者

お礼

ありがとうございます!! とってもたすかりました。 早速の回答ありがとうございました。

その他の回答 (1)

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

テキストファイルは、1レコードだけ書かれているのですか。 6個のデータとは、フィールドが6個か、レコードが6個か(Splitが要らない)。 D3からD7は5個なのだか、「6個のデータ」との関連は。 >とってもたすかりました。 ほんとにテストして、うまく行ったんですか。 >コンマ区切りのデータを、エクセルに書き込みたいです ー>コンマ区切りのデータを読んで、エクセルに書き込みたいです。 質問表現は神経を使って。

関連するQ&A

  • VBA(テキストファイルのデータ コピー)

    質問No.773038にて 回答No.5で 実際にやってみると 確かに動作は抜群に質問通りですが 文字化けして エクセルに貼られています。 肝心の テキストデータの保存方法が悪いのか  検討が付きません。 私個人は アプリから csv 変換用があり やっているのです。しかし エクセルにて手作業にて テキストファイルウィザードで カンマやタブの区切り・・・ 元のファイルは 932 日本語(シフト JIS) フィールドの区切りは セミコロンとしてやり セルにしてやると 確かに問題なく 文字化けしません 何故 VBAでやると 文字化けするのか 原因がわかりません。 どなたか 文字化けに出会った人はいませんか? 対応策があれば ご教授願います。

  • カンマ区切りCSVファイルをVBAで読み込みたい

    こんにちは。EXCELのVBAに詳しい方、どうか教えてください! カンマ区切りCSVファイルをEXCELに読み込みたいのですが、 CSVファイルのデータが金額のため、データ自体にもカンマが含まれていて、 金額のカンマでも分割されてEXCELのセルに収まってしまいます。 データの区切りのカンマと、金額のカンマを区別して読み込む良い方法はないでしょうか。 とても困っているので、お解りになる方どうかご回答をお願いいたします。 ・CSVファイルのデータ   1,000 , 2,000 , 1,500 , 3,000 , 1,000 , 2,500 , 2,000  ↑金額のカンマでデータが分割されないように読み込みたいのですが・・・

  • vbaでテキストファイル(*.txt)を取込みたい

    vba初心者です。 Application.Dialogs(xlDialogOpen).Showで選択したテキストファイル(***.txt)をテキストファイルウィザードで、タブ、カンマ、スペース区切りで、エクセルファイルに取り込むマクロを組みたいのですが? 何度やってもうまくいきません。 ご教示願えないでしょうか! excel2002を使用してます。 よろしくお願いします。

  • テキストファイルのデータをエクセルへコピーのやり方

    よろしくお願いします。 エクセル2000を使っています。 テキストのデータで A1/B1/C1    /はスペースです。 D1/E1/F1    データの長さは全部違います。 A2/B2/C2     D2/E2/F2 A3/B3/C3     D3/E3/F3      ・    ・(続く) といったものがあります。これをエクセルで    A列 B列 C列 D列 E列 1行 A1 B1 C1 D1 E1 2行 A2 B2 C2 D2 E2  ・・・ 3行 A3 B3 C3 D3 E3  (続く)          ・          ・(続く) という感じで別々のセルにいれて貼り付けしたいのです。 テキストデータを別々のセルに貼り付けする方法は 過去ログで「区切り位置」というのをつかえばいいというのはわかりましたが、この場合の複数行にわたるテキストデータをエクセルの1行に貼り付けする方法がわかりません。また、データの長さが違うために「区切り位置」もうまくいきません。 良い解決法をお願いします。

  • エクセルでテキストデータを読み込むときに、カンマの扱い

    エクセルVBAで、 open "**.txt" for input as #1 で読み込ませています。1行のデータとして、セルに入力したいのですが、カンマが入っているとそこで区切られてしまいます。これをしないようにしたいのですが、テキストファイルのデータに全角のカンマ,を使っても同じようになってしまいます。何か方法はありませんでしょうか?

  • EXCEL VBAでカンマ区切りテキストファイルに変換する方法

    EXCELで作成したシートをVBAでカンマ区切りテキストファイル(CSVファイルではなく)に変換する方法を教えてください 下記のプログラムではテキストファイルに変換されますが、カンマ区切りになりませんでした。 Sub Samp() ActiveWorkbook.SaveAs Filename:="C:\WINDOWS\aa.txt", FileFormat _ :=xlText, CreateBackup:=False End Sub

  • テキストファイル

    教えてください。テキストファイルをエクセルで開き、データを加工した後、カンマ区切りのテキストファイル(csvではなくて)には保存できないのでしょうか?ソフトが必要ならフリーソフトが良いのですが、良いものがあったら教えてください。

  • テキストファイルのインポートについて。

    CSVカンマ区切りのテキストファイルをエクセルにインポートしたいのですが、 エクセルの1行目の列タイトルの下の行からデータを挿入する方法はありますか? 使っているのはエクセル97です。

  • Excel VBAにてCSVファイルを読みたい

    ExcelにてCSVファイルを読んで処理をしたい。 ただし、CSVファイルをExcelでopenすると遅いので、 VBAにてファイルとして読み込みで処理をしたいのですが、 皆さんは、どのように行っていますか? ※CSVファイルは、テキスト区切り→"(ダブルコーテーション)です  テキスト区切り無しであれば、1行読んで、カンマをsplitすれば良いと思いますが。。。。

  • テキストファイルについて

    あるデータがカンマ区切りなのか、タブ区切りなのか、スペース区切りなのかはテキストファイルにしてメモ帳で開いて確認するしかないんでしょうか? 宜しくお願いします。

専門家に質問してみよう