|
どなたかよろしくお願いしたします。
下記のようなコードについて,教えて下さい。
sub test(a)
If a = 1 then
fname = "aaa.xls"
Elseif a = 2 then
fname = "bbb.xls"
Else
fname = "ccc.xls"
End if
Application.run "ここの記入方法がわかりません"
End Sub
例えば
a = 1 の場合
Application.run "'aaa.xls'!macro1"
a = 2 の場合
Application.run "'bbb.xls'!macro1"
それ以外の場合
Application.run "'ccc.xls'!macro1"
となるようなコードを作成しています。
上記のif文内に Application.run を組み込むことで間単に問題は解決できるのですが,
fname として,ブック名を変数に置換えているので
この変数を用いて1行で簡潔に表したいのですが記入方法が分かりません。
Application,run "'fname'!macro1" としても
実際には(a=1の場合)
Application,run "'"aaa.xls"'!macro1"
のことであり,当然エラーにより止まってしまいます。
変数を用いた場合の他のブックのマクロを実行させる方法を教えて下さい。
Application.run でなくても Call でも構いません。
説明が下手ですいません・・・
|
|