[[20150123162339]] 『別ファイルのマクロ実行』(ニワ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『別ファイルのマクロ実行』(ニワ)

 同じフォルダに   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


Aファイルにある実際のコードを教えて下さい。
具体例があるほうが回答しやすいです。

(マナ) 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.