• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ファイルパスを複数書いて、そのファイルパス全てからファイルを順に取り込)

ファイルパスを複数指定してファイルを順に取り込むマクロの作成方法

rivoisuの回答

  • rivoisu
  • ベストアンサー率36% (97/264)
回答No.1

Excelに取り込むということでそのファイルはExcelでOpenできるファイル(XLS,CSV等)ということでしたら workbooks.open range("A1") でオープンできオープン直後はそのファイルがactiveになります。 だからこれをFor Next などで回してやればいい。 例えば絶対パス名が書かれている範囲をselectして Sub sss() Dim RG As Range For Each RG In Selection そのブックに対する処理 Next End Sub で処理できます。

ka125ni
質問者

補足

回答ありがとうございます! Sub sss() Dim RG As Range For Each RG In Selection そのブックに対する処理 (ファイルを開いて、シートを一枚取り込むという処理) Next End Sub rivoisuさんが回答してくださったコードを参考に作ってみましたが、 workbooks.open range("A1") という処理をいつ入れるのか分かりませんでした。 また、A1のファイルを取り込んだら続けてB1のファイルを、と順に取り込み、 セルにパスが書かれていなければ取り込み処理を終了する、といったことをこのコードでできるか よければまた回答をお願いします。

関連するQ&A

  • Excel マクロ 指定フォルダ内のファイルを順に開き処理をする方法は?

    マクロ初心者の私ですが、仕事で必要になってしまい、すがる思いでこちらに質問しました。 指定したフォルダ内のファイルを順に開き、 処理を行いたいのです。 初心者なので、解りにくい説明かもしれませんが、もう少し詳しく書くと、 (1)指定したフォルダ"c\見積"の最初のファイルを開く (2)sheet1のA列からK列のデータをコピーする。 (3)ドライブCの"請求書"というファイルのsheet1のセル"H2"を起点にして貼り付ける。 (4)コピー元のファイルを閉じる。 (5)"c\見積"内の次のファイルを開く。 (6)フォルダ内の最後のファイルまで(2)~(5)の作業を繰り返す。 こんな感じなのですが、この様な書き方でご理解いただけるでしょうか? よろしくお願いします。

  • エクセル マクロ 複数ファイルを1枚のファイルに

    お世話になります。 私の業務で、多数のエクセルシートを1つのファイルにまとめ、 その上で縦串を通して合算を出す、という作業が頻発しております。 様々な資料で同様の作業が行われますので、簡素化ができればと思い、 質問させていただきます。 [作りたいマクロ] 『元データ』のフォルダに入っているエクセルファイルの 『指定シート(仮にA2セルにシート名を指定できるものとします)』を、 当マクロの入ったエクセルファイルにシートを追加したい。 その際、全てのシート名が同一になってしまうので、 『指定したセル(仮に各シートのB2セル)』をシート名にする。 ●各シートは全て同じフォーマットですので、書式等そのままコピーでOKです ●元のファイル名はバラバラになっていることが多いです

  • EXCELで複数ファイルのセル抽出マクロ

    EXCELで複数ファイルのセル抽出マクロ いつもお世話になっております。 首題の件ですが、複数のEXCELファイル約100個があるフォルダに入っています。 フォーマットは統一されていますが、記載してあることは別です。 特定のセルの内容を抽出し、別のEXCELブックに保存したいと考えております。 例) パス-D:\集計\ ファイル名-統一されていません シート名-アンケート(統一している) 抽出したいセル-A1:A10とC10:C20(結合されているセルもあります) できれば保存するEXCELブックに抽出したA1の全集計結果をA1に、 抽出したC10の全集計結果をC10に保存したいのです。(1ファイルずつ改行を入れて) マクロを検索して調べてみたのですが、自分の環境に合わせてみるとうまく動かなく、 (単に私の勉強不足ですが・・・)お手上げ状態です。 皆様、宜しくお願いします。 また、厚かましく下記にも別件で質問をしております。 お力添え頂ければ幸いです。 http://okwave.jp/qa/q6170791.html

  • VBAでB列のファイルパスにリンクを貼りたい

    いつもお世話になっております。 特定のフォルダ内にエクセルファイルが毎月増えていくのですが、このフォルダに入っているエクセルファイルのフルパスの一覧を別のエクセルシートのB列に毎月コピペしています。 月10-20のエクセルファイルがリストに追加されていきます。 この増分のパス(B列)にリンクを貼りたいのです。 B列には既に400件以上のファイルパスが入っているので、毎回上からB列の全部のセルにリンクを貼り直すのではなく、増分(B列の最下行+1行目)以下のセルにリンクを張るBVAを教えて頂きたいのです。 当方教えて頂いたコードとマクロの記録の組み合わせがどうにか出来るレベルなので宜しくお願いします。 但し、B列の140行目迄には空白を含むパス以外の文字が入っています。 パスは141行目以降に空白なく入っていきます。

  • 複数のCSVファイルからのデータ取得(VBA)

    エクセルVBAで、エクセルの指定シートに複数のCSVファイルからデータを取得する方法を ご教授お願います。 エクセルの指定シートの指定されたセルに、複数のCSVファイルから指定箇所のデータを 取得し転送する方法を考えていますが、どうもうまくいきません。 たとえば、 CSVファイル(1) A5(A)           A10(B) CSVファイル(2) A5(C)           A10(D)      CSVファイル(3) A5(E)           A10(F)         ・      ・      ・ と、指定されたセルからデータを取得し、 エクセルの指定シートの表に                    CSVファイル                                 (1)  (2)  (3) ・ ・ ・ ------------------------------------------- A5から取得したデータ    A   C   E ・ ・ ・ A10から取得したデータ    B   D   F ・ ・ ・ ------------------------------------------- と、いうように転送して貼り付けていきたいです。 いろいろ調べてみたのですが、このような方法が見つけられませんでした。 ぜひ、皆様のお知恵をお貸しください。 宜しくお願い致します。

  • エクセル2007で複数ファイル間コピーマクロ

    エクセルでマクロを組もうとしていますが、初歩的なことでつまづいており、ぜひ助けを頂けたらと思います。 VBA言語はほとんどわかりませんが、エクセルでマクロを組んでいます。 一つのワークブック内での登録は問題なく行えるのですが、ワークブック間のコピペをマクロに登録するとうまくいかず困っています。 やりたいことは以下のようなことです。 file.Aのsheet1のA1セル ⇒ file.AAのsheet1のA1セル へコピー file.Bのsheet1のA1セル ⇒ file.BBのsheet1のA1セル へコピー     ・     ・     ・     ・ file.Zのsheet1のA1セル ⇒ file.ZZのsheet1のA1セル へコピー VBAを確認すると、ワークブック名が指定されているため、うまく次のファイルに移行できずにいるようです。 以下が黄色でハイライトされます。 Windows("file.A").Activate 初歩的なことだとは思うのですが、なかなか検索で答えが引っ張りだせないので、A-Zのファイルをコピペできるマクロにするにはどのようにしたら可能なのか教えてください。 よろしくお願いします。

  • 複数のエクセルファイルのデータを新規のファイルで一覧表にまとめるには?

    1つのホルダーの中に1000のエクセルファイルがあり、これらのファイルには、複数のシートがあります。これら1000のファイルから指定するシート(シートの様式とシート名は同じ)のデータ(C5:C17)を一覧表にまとめたいのです。 1000のエクセルファイル名は、○_■(○:個別、■:共通)で、一覧表は新たなエクセルファイルを作成し、1行目は左(A1)から順に、○(ファイル名の個別の部分)、C5のデータ、C6のデータ..C17のデータを  2行目には次のエクセルファイルの○(ファイル名の個別の部分)、C5のデータ、C6のデータ..C17のデータを ・・ と1000ファイルのデータをコピー&ペーストしたく、マクロ作りに挑戦したのですが、うまくいきません。どなたか助けてください。よろしくお願いいたします。

  • 複数のファイルにまたがるマクロについて

    詳しい方、教えて下さい。 あるファイル(Aとします)に、データが入っています。 そのデータを、複数の別ファイル(B,C,Dとします)に一度にコピーできるマクロというのは作成可能でしょうか。具体的には、ファイルAのワークシートに3銘柄の株価データが入っており、それをそれぞれファイルBCDのシート(同じ形式のファイルで、コピーする場所も同じです)に1回のマクロでコピーしたいのです。つまり、BCDのワークシートそれぞれでマクロを作成するのではなく、一発でAからBCDへのコピーができるマクロが可能か知りたいのです。また、そのマクロを動かす時に、BCDファイルを開いていなくともコピーはできるのでしょうか。少しわかりにくい質問かもしれませんが、宜しくお願い致します。

  • Excel VBAマクロで複数のファイルから読み出し

    Excel2002を使用して、以下のような処理を実現しようとしています。 1. ある特定のフォルダに格納されている複数の *.xls ファイルを順番に開く 2. 先頭のシートの特定のセル(例えばA1~D1)の値をコピーして、適当なBOOKのSheet1に上から順に貼り付け、表にする。(最初はA1~D1に貼り付け、次はA2~D2、A3~D4・・・とファイルの数だけ繰り返す) 上記1.の実現方法がよく分かりません。ヘルプを見てもどうも要領を得なくて。 JavaやC,C++のプログラミング経験はあります。 また、VBAマクロも簡単なものなら作成経験があります。 よろしくおねがいします。

  • ファイルパスの汎用性について教えてください!

    ファイルパスの汎用性について教えてください! 一覧表をつくりそこをダブルクリックするとハイパーリンクを設定するマクロを組んだのですが、ファイルパスに汎用性がなく困っています。以下のコードはどう直せばいいですか? Option Explicit Private Sub Worksheet_BeforeDoubleClick(ByVal target As Range, Cancel As Boolean) Dim h As Range Dim path As String Dim s As String For Each h In Range("M4:V4") If h.Value <> "" Then path = "C:\Documents and Settings\marsh\デスクトップ\特殊\1111\02\01/チェックシート\" s = Dir(path & h & "*.*") ActiveSheet.Hyperlinks.Add Anchor:=h, address:=path & s End If Next h End Sub 上記コードでpathの部分を可変にしたいんです。例えばpath = "C:\Documents and Settings\marsh\デスクトップ\特殊\・・・以降をこのコードが書いてあるエクセルのA1から拾ってくるとかしたいんです。できますでしょうか?よろしくご教授ください。