ここから本文です

マクロ初心者です。 VBAで別ブックのマクロを実行しようと考えております。

coj********さん

2018/1/1412:49:56

マクロ初心者です。
VBAで別ブックのマクロを実行しようと考えております。

01 Dim year, PB As Variant
02 Dim Path, z As String
03 Dim PWB As Workbook

04 year = ThisWorkbook.Sheets("A").Range("A1").Value
05 PB = year & "別ブック名.xlsm"
06 Path = ThisWorkbook.Path
07 z = Dir(Path & "\" & PB)
08 If z = "" Then
09 MsgBox "ファイルが見つかりません" & vbCrLf & PB
10 Exit Sub
11 Else
12 Set PWB = Workbooks.Open(Path & "\" & PB)
13 ThisWorkbook.Sheets("A").Range("A2").Copy
14 PWB.Sheets("X").Range("A4").PasteSpecial Paste:=xlPasteValues
15 Application.Run (PWB & "!Get_FileName")
16 End If

15部分で「オブジェクトはこのプロパティまたはメソッドをサポートいていません」とエラーになります。
15を[Application.Run "'" & PWB & "'" & "!Get_FileName"]にしても同じエラーとなります。
なお、15を[Application.Run "別ブック名.xlsm!Get_FileName"]ですと問題なく動きます。
Application.Runでは変数が使用できないのでしょうか?

知識の浅いまま作成し行き詰りました。
原因と解決策をお教えいただけると幸いです。

閲覧数:
55
回答数:
2
お礼:
25枚

違反報告

ベストアンサーに選ばれた回答

nas********さん

2018/1/1413:01:33

そもそもPWBがWorkbook形式に設定されているのが実行できない理由でしょう。

PWBS="別ブック名.xlsm!Get_FileName"
Application.Run (PWBS)
と、
PWBS="別ブック名.xlsm!Get_FileName"
Application.Run PWBS
を実行してみたら、どうなりますか。

PWBがブックのファイル名では無く、オブジェクトだという所がひっかかっているのでしょう。

質問した人からのコメント

2018/1/14 21:36:53

お二人ともありがとうございました!お二人にお教えいただいた内容すべて問題なく動きました!
原因をお教えいただきましたnasukan64さんにBAとさせていただきます。

ベストアンサー以外の回答

1〜1件/1件中

プロフィール画像

カテゴリマスター

tra********さん

2018/1/1412:59:29

Application.Run (PWB.Name & "!Get_FileName")
または
Application.Run (PB & "!Get_FileName")
じゃだめなんですか?

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる