• ベストアンサー

Excel間でデータのやりとり

複数のエクセルファイルに保存されてるデータをVBAでデータの内容を選択しながら、マスターファイルとして一つのエクセルファイルにまとめたいです。 セルのリンクではなく、データの読み込みで行いたいと思っています。   起動中のエクセルにもう一つのファイルを開けて、 Windows("data.xls").Activate とすれば操作はできますが、使用するファイルが多いため出来るだけ個別のファイルそのものにアクセスする方法がないかと思って探しています。  そのような方法があれば教えて下さい。

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

  • ベストアンサー
  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.1

マスターファイルにマクロを書くとして、同じウィンドウ内に複数のファイルが開いているなら下記の応用で良いかと思います。 指定したファイルを開くところから書くともっと長くなります。 例はマクロのあるブックの一番左のシートA列に他ブックの一番左のシートのA1を転記します。 Sub Test() Dim wb As Workbook For Each wb In Workbooks  If Not wb Is ThisWorkbook Then    ThisWorkbook.Worksheets(1).Range("A65536"). _    End(xlUp).Offset(1, 0).Value = wb.Worksheets(1).Range("A1").Value  End If Next wb End Sub

shingoogoo
質問者

お礼

なんとなく分かりました。 やってみます。 有難う御座いました。

関連するQ&A

  • Excel → Access データをインポート

    OS WinXP Pro SP2 Office 2000 SP3 はじめまして。 マクロ(Excel VBA)を記述しているExcelファイル(Xls_Macro.xls)とインポート用データのExcelファイル(Xls_Data.xls)は別々のファイルになっていて、マクロを実行するとExcelファイルとインポート用データのExcelファイルのデータをAccessファイル(Access.mdb)にインポートする仕組みを開発しています。 インポート用データのExcelファイル(Xls_Data.xls)をADOで接続しレコードセットでデータを取得し、Accessファイル(Access.mdb)もADOで接続しレコードセットの「.AddNew」でAccessファイル(Access.mdb)に更新しようと考えています。 この考え方で問題ないのでしょうか!? もっと簡単な方法があるという方や、何か良い方法をお持ちの方 いらっしゃいましたら、よろしくお願いいたします。

  • ExcelのVBAで、他のExcelファイルのセルのデータを取得

    ExcelのVBAで、他のExcelファイルのセルのデータをファイルを実際に開かずに取得する方法はありますか? Workboks.openを使わずに、具体的にどうすればいいのでしょう? (例)  AAA.xls のセル"C5"に BBB.xls のセル"B3"のデータを入力したい場合。 (AAA.xlsにマクロを起動するボタンがある) ただし、BBB.xlsの最初の3行は空白です。

  • リンクデータが更新できない (エクセル2010)

    Access2003から出力したエクセルシート(A)をもとに、そのエクセルを他のエクセルシート(B)の所定のセルとリンクさせようと思っていますが、うまくいきません。 (A)はデイリーで更新される生データですが、セル位置は常に固定され、その中身や数量が変動します。 (B)は10枚以上に及ぶ所定のフォーマットで、ビジュアル的な加工がなされています。 なお(B)の構造上、Accessからじかに(B)に放り込むことは不可能(だと思っています)なので、一旦(A)として生データをエクセルに変換してから、(A)→(B)にリンクというのが目論見です。 まず(B)の各セルを(A)の該当セルとリンクさせました。 次に(A)の数値をマニュアルで変更したら、リンクしている(B)も当然更新されました。 しかしAccessから(A)の最新データを落としてから(B)を開いてデータソースへのリンク「更新する」ボタンを押しても、(B)が反応せず「ファイルを読み込めません」というエラーメッセージが出ます。 当然(B)の中のデータも更新されていません。 Access2003から出力される(A)がxlsなので、(B)もxlsの拡張子で作りましたがダメです。 何か解決する方法はありませんでしょうか?

  • Excelデータを別のExcelファイルに引っ張ってシート別に一括で変更したい

    教えてください。 Excelのファイルから別のExcelファイルにデータを引っ張りたいのですが ='[ファイル名.xls]1'!$A$1 と入力するとデータを引っ張ってこれるのですがこのデータ元のファイルの別ページの 同じセルからもデータを引っ張って来たいのですがシートが複数ページあり 1つ1つのリンク先を変更していくのが面倒です ↓↓↓↓↓ ='[ファイル名.xls]1'!$A$1 ='[ファイル名.xls]2'!$A$1 ='[ファイル名.xls]3'!$A$1 ='[ファイル名.xls]4'!$A$1 ='[ファイル名.xls]5'!$A$1 ↑こんな感じで一気に変更したいのですが 何か簡単なやり方はありますでしょうか?? ちなみにExcelは2003です。

  • 「ほかのデータソースへのリンクが含まれています。」→VBで操作

    Excelを開いた時に、下記の画面が出ます -------------------------------------------------- このブックには、ほかのデータソースへのリンクが含まれています。 ・リンクを更新すると、Excelは更新のデータを取り込もうとします。 ・リンクを更新しないと、以前の情報が利用されます。 □更新する、□更新しない、□ヘルプ -------------------------------------------------- このファイルをACCESSのVBで操作、つまり Set Xls = GetObject(myFile) Xls.Application.windows(1).Visible = True Xls.Application.Worksheets("Sheet1").Activate と(Open)して、該当Cellを読もう、としています。 この時、上記のメッセージが出るのですが □更新しない、にVBで答えるには、どうするんですか? よろしくお願いします。

  • EXCELでのリンクデータに関して

    EXCELのシートにネットワーク上のEXCELファイルのデータをリンクしているのですが 最初に設定したのと同じ方法でリンクしても セル内の記述が異なりました 最初は \\○○\△△\[□□.xls]Sheet1'!$A$1 のようにネットワークのパスが入ったのですが、 今は [□□.xls]Sheet1'!$A$1 とネットワークのパスが入らなくなっています 手順はリンクを貼りたいファイルを立ち上げ、リンク先のファイルを開き、単純に設定したいセルに ”=”入力後、リンク先のセルをマウス指定しています 最初のようにネットワークパスをマウス指定で設定したいのですが ご指導宜しくお願いします ちなみに、セルに直接ネットワークパスを指定すると、応答無しになってとまってしまいます 使用環境に問題があると思うのですが・・・ あまり端末に負荷をかけずに設定したいのです・・・

  • アクセスのデータをエクセルで編集したい

    アクセスのデータをエクセルで開き、データを更新したいのですが、 可能でしょうか? VBAやマクロを使えば可能ですが、視覚的に操作したいので、エクセル からmdbへリンクを作成するようなイメージです。

  • エクセルファイルのデータリンクを削除したい。

    エクセルファイルの読み込みの際に「このブックには、他のデータソースへのリンクが含まれています。」が表示されます。データをリンクする必要が無く、リンクを削除したいのですが、どのセルがリンクしているのかわかりません。不要なリンクを削除する方法についてご指導下さいますようお願い申し上げます。

  • VBAでエクセルのデータ更新 セルを合併したところへ

    お世話になります VBA(ACCESSの)でエクセルに更新したいのですが 普通のセルには、うまくいくのですが 合併したセルに対して更新できません この場合何か方法がありますか、 何か手がかりだけでも、アドバイスいただけたら と、思います ちなみに、codingは 一行目のRow Columで、行列を指定して"data"と いうデータを更新するところ xls.Application.Goto "r" & x & "c" & y xls.Application.Activecell.Value = "data"

  • 〔VBA・マクロ〕EXCELからACCESSデータをひっぱるには?

    当方のレベルはアクセス初級者(基本的な操作)、 エクセルはごく簡単なVBAをいじる中級者です。 アクセスにて顧客マスター、商品マスターを作成しています。 エクセルで納品書を作成しています。 現状では外部データの取り込みをつかって エクセルシートに顧客データ(シート1)と商品データ(シート2)を 取り込んだ後に、納品書(シート3)でシート1、2に VLOOKUP関数をかけて、納入先と商品情報を 伝票におとしこんでいます。 こんなまどろっこしいことをせずに、 エクセルからアクセスのテーブルへ直接データを取り込む方法は ないものでしょうか? どなたかよろしくお願いいたします。

専門家に質問してみよう