[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『別ファイルのマクロ実行』(ニワ)
同じフォルダに A、B、C というファイルがあります。
ここで、Aファイルにマクロを作って
Bファイル を開いて、Bファイル内でマクロ実行 Bファイル閉じる
続けて
Cファイルを開いて、 Cファイル内でマクロ実行 Cファイル閉じる
ということをやりたいのですが、お教え願います。
< 使用 Excel:Excel2010、使用 OS:Windows7 >
Sub test()
Dim b As Workbook Set b = Workbooks.Open(ThisWorkbook.Path & "\B.xlsm") Application.Run b.Name & "!test" b.Save b.Close Set b = Workbooks.Open(ThisWorkbook.Path & "\C.xlsm") Application.Run b.Name & "!test" b.Save b.Close End Sub
こんな感じでしょうか?
(ウッシ) 2015/01/23(金) 17:17
もしかして、BブックやCブックにはマクロが記述してなくて、 AブックのマクロからBブックやCブックを制御したい、という ことですか? (カリーニン) 2015/01/23(金) 21:17
そのとおりです。 BファイルやCファイルにはマクロはありません。 Aファイルから、BやCを操作するようにしたいのです。
上記のコードでは、エラーになってしまいますが。 よろしくお願いいたします。
(ニワ) 2015/01/24(土) 13:41
(マナ) 2015/01/24(土) 14:35
ほかのブックを開き、そのシート上のセルを扱い、最後に保存して閉じるサンプルです。 サンプルでは、マクロブックと同じフォルダにある、ブックB.xlsx と ブックC.xlsx を相手にしています。
Sub Test() Dim wb As Workbook Dim wc As Workbook
Set wb = Workbooks.Open(ThisWorkbook.Path & "\ブックB.xlsx")
wb.Sheets("Sheet1").Range("A1").Value = "ABCD"
Set wc = Workbooks.Open(ThisWorkbook.Path & "\ブックC.xlsx")
wc.Sheets("Sheet2").Range("A1").Value = "XYZ"
wb.Close True wc.Close True
End Sub
(β) 2015/01/24(土) 15:17
うまくできました。 ありがとうございました。
(ニワ) 2015/01/24(土) 19:22
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.