Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


7519 / 13644 ツリー ←次へ | 前へ→

【38638】Application.runについて tomo 06/6/7(水) 17:23 質問[未読]
【38640】Re:Application.runについて ハチ 06/6/7(水) 17:28 発言[未読]
【38643】Re:Application.runについて ichinose 06/6/7(水) 17:36 発言[未読]
【38659】Re:Application.runについて tomo 06/6/8(木) 8:22 お礼[未読]

【38638】Application.runについて
質問  tomo  - 06/6/7(水) 17:23 -

引用なし
パスワード
   どなたかよろしくお願いしたします。

下記のようなコードについて,教えて下さい。

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 でも構いません。

説明が下手ですいません・・・

【38640】Re:Application.runについて
発言  ハチ  - 06/6/7(水) 17:28 -

引用なし
パスワード
   ▼tomo さん:
Application.run fname &"!macro1"
ですか?

【38643】Re:Application.runについて
発言  ichinose  - 06/6/7(水) 17:36 -

引用なし
パスワード
   ▼tomo さん:
こんにちは。

>どなたかよろしくお願いしたします。
>
>下記のようなコードについて,教えて下さい。
>
>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 "'" & fname & "'!macro1"
'としてみてください
>End Sub
>
>例えば
>a = 1 の場合
>  Application.run "'aaa.xls'!macro1"
>a = 2 の場合
>  Application.run "'bbb.xls'!macro1"
>それ以外の場合
>  Application.run "'ccc.xls'!macro1"
>となるようなコードを作成しています。
>
>
>変数を用いた場合の他のブックのマクロを実行させる方法を教えて下さい。


>Application.run でなくても Call でも構いません。
Callも参照設定するか
オブジェクトモジュールにコードを記述すれば可能ですが、
まっ、ここでは本意ではないのでまたの機会に・・・。


>
>説明が下手ですいません・・・

【38659】Re:Application.runについて
お礼  tomo  - 06/6/8(木) 8:22 -

引用なし
パスワード
   ▼ichinose さん:

解決できました。
ありがとうございました。
質問前に「&」を利用してトライしてみていたのですが,
使い方がまだまだのようでした。
Call の方でも出来るようがんばってみます。


▼ハチ さん:
無事解決できました。
返信ありがとうございました。

7519 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free