• 締切済み

VBAで複数のCSVの読み込み

http://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub05_110_050.html こちらのサイトの「古くからあるステートメントの方法」を参考にしてCSVファイルを選択してエクセルのシート上にCSVの情報を貼れたのですが、 例えばグローバル変数を2つ作り、別プロシージャから2つの違うCSVファイルパスをそれぞれ受け取り、↑の方法で1つのシートに2つのCSV情報を貼るにはどのようにすればよいですか? AファイルとBファイルがあったとしてシートの中身を A A A B B B のように横につなげるようにしたいです。

みんなの回答

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.2

配列を増やして別なCSVのデータをそこに入れるというのも有りですが、CSVの読み込み貼り付けを2回行っては如何ですか? 1回目の貼り付けが終了した後、↓こんな感じで使用最大列数を求めておきます。 nColMax = ActiveSheet.UsedRange.Column で、2回目の貼り付け時は Range(Cells(GYO, 1), Cells(GYO, IX1)).Value = X ' 配列渡し (6) ↓ Range(Cells(GYO, 1 + nColMax), Cells(GYO, IX1 + nColMax)).Value = X ' 配列渡し (6) と、言う感じで横の方に貼り付ければ良いと思います。

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.1

質問では、2つのCSV内のデータをシートにならべて貼り付けたいと理解しましたが、リンク先のコードはシート上のデータをCSVに書き出すコードでした。 質問内容とリンク先が一致していません。 もしかして、1枚のシート上のデータを2つのCSVに分けて出力したいという内容でしょうか?

kizudora
質問者

補足

http://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub05_110_030.html こちらの内容の間違いでした。 Redim Preserveで配列を増やせばいいと思うのですが、インデックスエラーが返されてしまいます。 どうすればよろしいでしょうか・・

関連するQ&A

専門家に質問してみよう