• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excel2003でマクロを使用してtxt取り込み)

Excel2003でマクロを使用してtxt取り込み

このQ&Aのポイント
  • Excel2003でマクロを使用して複数のtxtファイルを取り込む方法について教えてください。
  • マクロ実行後、ダイアログボックスでtxtファイルを選択して終了してしまいます。具体的な取り込み手順を教えてください。
  • テキストファイルにはカンマで区切られたデータが保存されています。100個のテキストファイルを読み込んで、セル範囲にデータテーブルを作成したいと考えています。具体的なマクロの記述方法を教えてください。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

sub macro1()  dim filenames as variant  dim myfile as variant  dim buf as string  dim n  filenames = application.getopenfilename(multiselect:=true)  if not isarray(filenames) then exit sub  n = 2  for each myfile in filenames   n = n + 1   open myfile for input as #1   line input #1, buf   cells(n, "R") = buf   close #1  next  Range("R3:R102").TextToColumns _   Destination:=Range("R3"), _   DataType:=xlDelimited, _   TextQualifier:=xlDoubleQuote, _   ConsecutiveDelimiter:=False, _   Tab:=False, _   Semicolon:=False, _   Comma:=True, _   Space:=False, _   Other:=False, _   FieldInfo:=Array(Array(1, 2), Array(2, 2), Array(3, 2), Array(4, 2), _    Array(5, 2), Array(6, 2), Array(7, 2), Array(8, 2), _    Array(9, 2), Array(10, 2), Array(11, 2), Array(12, 2), _    Array(13, 2), Array(14, 2), Array(15, 2), Array(16, 2)), _   TrailingMinusNumbers:=True end sub ホンモノの実データの内容に応じて,チューニングが必要かもしれません。

sakura_002
質問者

お礼

keithin様 ご回答、ありがとうございます。 普段使用しているPC(以下 PC1)で、そのままの記述で動作致しました。 ただ環境によるのか、使用するPC(以下 PC2)によっては、 (1)マクロ実行 (2)ダイアログボックスが開く (3)ディレクトリ変更(txtFileが保存されているネットワーク上のPC) (4)txtFile選択し、開く で、txtFileが取り込まれず、(エクセルも落ちるわけではなく)再度(1)からやり直すと 2回目は取り込めたりする動作が確認出来ました。 PC2は、普段そのネットワークPCにつながないので、1回目は上手く通信出来ていないだけなのかな? と、勝手に想像しています。 (PC1は、ネットワーク上PCにアクセスする機会が多く、通信が上手く出来ている?) 愚問だとは思いますが、お気づきの点がございましたら、ご連絡頂けると幸いです。

関連するQ&A