プロが教える店舗&オフィスのセキュリティ対策術

実行ボタン1つで2つのセルに入力されたパスのxlsデータを、それぞれ別シートに読み込む方法はありますでしょうか?
取得する内容のマクロは作成してますが、シート毎に操作しなければならず、少々面倒なため解決方法があれば教えて頂けますと助かります。。。

例としては、
sheet1→B3、B4に取得先xlsのフォルダパスが記載されており、
実行ボタン1つでB3→sheet2、B4→sheet3に反映、といった感じです。
※環境 Excel2007、2010

簡単な文面ですが、
何卒、よろしくお願いいたします。

A 回答 (3件)

こんな感じですかね。


下記プログラムは、B3セルに入力されているブックを開いて、自ブックのSheet2へコピーした後に閉じられます。
続けて、B4セルに対しても同様(コピー先はSheet3)のことを行います。

Sub sample()
Dim ws As Worksheet
Set ws = Workbooks.Open(Range("B3")).ActiveSheet
ws.Cells.Copy Destination:=ThisWorkbook.Worksheets("Sheet2").Range("A1")
ws.Parent.Close
Set ws = Workbooks.Open(Range("B4")).ActiveSheet
ws.Cells.Copy Destination:=ThisWorkbook.Worksheets("Sheet3").Range("A1")
ws.Parent.Close
End Sub
    • good
    • 0
この回答へのお礼

ママチャリさん、ご回答ありがとうございます。
まさしくこれですっ!!

ホント助かりました。。
ありがとうございます(^^)

あと、できればでいいのですが、
下記部分のRangeを"C3"にすることは出来ますでしょうか?
ws.Cells.Copy Destination:=ThisWorkbook.Worksheets("Sheet2").Range("A1")

C3へ変更するとエラーとなるため、可能であればご教示頂ければと存じます。

五月雨の質問となり恐縮ですが、
何卒、よろしくお願いいたします。

お礼日時:2016/03/14 19:19

確認なのですが、B3に入力されているファイルパスのxlsデータに、シートが複数あることはないのでしょうか?もし複数ある場合、どのシ

ートをSheet2に反映するのでしょうか?最初にアクティブになったシートだけで良いですか?
    • good
    • 0
この回答へのお礼

ご連絡ありがとうございます!
また、説明不足で申し訳ございません。。

取得先のxlsですが、シートはひとつとなるのでアクティブになったシートのみで問題ありません。
わかりずらい質問で申し訳ありませんが、よろしくお願いいたします!

お礼日時:2016/03/12 12:27

良く意味が分かりませんけど・・・・



セルを順番に読んで、パスに従いファイルを読んで取り込めばいいのでは?

シート毎に操作しなければというのはどういう意味だろ?
セルが二つあってそれぞれにパス情報がある以上
それぞれ順番に処理する以外に何があるだろう?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!