- ベストアンサー
Excel2003でマクロを使用してtxt取り込み
- Excel2003でマクロを使用して複数のtxtファイルを取り込む方法について教えてください。
- マクロ実行後、ダイアログボックスでtxtファイルを選択して終了してしまいます。具体的な取り込み手順を教えてください。
- テキストファイルにはカンマで区切られたデータが保存されています。100個のテキストファイルを読み込んで、セル範囲にデータテーブルを作成したいと考えています。具体的なマクロの記述方法を教えてください。
- みんなの回答 (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 ホンモノの実データの内容に応じて,チューニングが必要かもしれません。
お礼
keithin様 ご回答、ありがとうございます。 普段使用しているPC(以下 PC1)で、そのままの記述で動作致しました。 ただ環境によるのか、使用するPC(以下 PC2)によっては、 (1)マクロ実行 (2)ダイアログボックスが開く (3)ディレクトリ変更(txtFileが保存されているネットワーク上のPC) (4)txtFile選択し、開く で、txtFileが取り込まれず、(エクセルも落ちるわけではなく)再度(1)からやり直すと 2回目は取り込めたりする動作が確認出来ました。 PC2は、普段そのネットワークPCにつながないので、1回目は上手く通信出来ていないだけなのかな? と、勝手に想像しています。 (PC1は、ネットワーク上PCにアクセスする機会が多く、通信が上手く出来ている?) 愚問だとは思いますが、お気づきの点がございましたら、ご連絡頂けると幸いです。