• ベストアンサー

excelでのインポート

エクセルでcsvを更新インポートするVBAを作りたいのですが、「テキストファイルのインポート」のウィンドウが出てきてしまいます。これをvbaにファイル場所・ファイル名を入れておき、ウィンドウを出さないで自動的に更新をするようにしたいのですが、全然分かりませんでしたのでお分かりになる方教えてください。 よろしくお願い致します。

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

  • ベストアンサー
  • deecyan
  • ベストアンサー率38% (89/233)
回答No.1

こんな感じでしょうか? Sub hoge() ii = 0 'Sheet2をクリアーします Sheets("Sheet2").Select Cells.Select Selection.ClearContents ' 未使用のファイル番号を取得します。 Fno = FreeFile ' シーケンシャル入力モードで開きます。 Open "c:\\okweb\\TESTFILE.txt" For Input As #Fno ' ファイルの終端までループを繰り返します。 Do While Not EOF(Fno) ii = ii + 1 ' データを 5 つの変数に代入します。 Input #Fno, col1, col2, col3, col4, col5 'セルに代入します Cells(ii, 1) = col1 Cells(ii, 2) = col2 Cells(ii, 3) = col3 Cells(ii, 4) = col4 Cells(ii, 5) = col5 Loop Close #Fno ' ファイルを閉じます。 End Sub

cooltake2
質問者

お礼

ありがとうございました。 とても参考になりました!

その他の回答 (1)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

マクロの記録で 「データ」「外部データの取り込み」「データの取り込み」でテキストファイルを選んで、取り込む手順を記録したところ。 2回目以降の更新は「データ」の「データの更新」でできます。 その記録したマクロで実行する場合は、 列が挿入されてしまうのが難点ですが、 これは、挿入されて、古くなった列を削除する マクロを書けばいいと思います。 勘違いコメントだったらすみません

cooltake2
質問者

お礼

ありがとうございます。 参考にさせていただきました。

関連するQ&A