[実行時エラー'1004'マクロが見つかりません]が発生するが?

Question 010p 拙著「組み方講座・プロの定番」 Previous Next
242ページ 4章1-1 合わせ技3 ◆ 環境・・ Excel 2000 & Windows XP
詳細は こちら
242ページの「(3)ほかのブックを開いてそこにあるマクロを実行する」を参考に、次のようなマクロを作成しました。


Sub 他のブックを開いてそこにあるマクロを実行する()
 Dim フォルダーパス, ブック名, マクロ名
    フォルダーパス = "C:\Document and settings\良二\My Documents"
    ブック名 = "\株価各データ\" & Range("P2").Value & ".xls"
    マクロ名 = "グラフ2"
    ChDir フォルダーパス
    Workbooks.Open Filename:=フォルダーパス & "\" & ブック名
    Application.Run ブック名 & "!" & マクロ名  '★★
End Sub
このマクロは、株価銘柄コード番号を記入ファイル(株価データリンク)上のセル位置("01")のコード番号のファイルを開き、次にそのファイルのマクロ(グラフ2)を実行します。
このマクロを実行したのですが、コード番号のファイルを開くところまでは実行するのですが、★★のところで、「実行時エラー'1004'
マクロ'株価各データ\コー ド番号,xls!グラフ2'」というエラーが出て、マクロ(グラフ2)が実行されません。
もしエラーの原因がお分かりになられたら、ご教示お願いいたします。
Answer   Copyright (C) 2006.3.8 永井善王
拙著「ExcelVBAマクロ組み方講座 プロの定番・裏技・合わせ技[編]」をご購読、ありがとうございます。
右図のようなエラーが表示されてしまうのでしょうか。

もしも、そう言う事でしたら、マクロの 4行目のコード、つまり、 下記に赤字で示した部分に問題があるからと思います。

4行目・・
ブック名 = "\株価各データ\" & Range("P2").Value & ".xls"

その理由は、ここではブック名だけしか設定できません。 もしも、ブック名と共にフォルダー名も設定したかったのでしたら、下記のように修正すれば可能になります。

3行目・・
フォルダーパス = "C:\Document and settings\良二\My Documents\株価各データ\"
4行目・・
ブック名 = Range("P2").Value & ".xls"

なお、主旨が違うようでしたら、もう一度ご連絡ください。
ご質問は出版元である株式会社技術評論社へお送りいただくルートの他に、下記ページからでも送信できます。
Ecxel VBA マクロ組み方講座 プロの定番・裏技・合わせ技  ・  ご質問用紙

 

Excel VBA Macro