ここから本文です

別ブックのマクロ実行時にString型変数を渡す ブックAからブックBのマクロを実行...

coj********さん

2019/12/1401:48:58

別ブックのマクロ実行時にString型変数を渡す
ブックAからブックBのマクロを実行したいと考えています。

この際、ブックAで取得したString型変数をブックBに引き渡したいのですが、
下記のコードでエラーが発生しております。
(ブックBは開いているものとします)

[エラー]
引数の型が一致していません。または不正なプロパティを指定しています。

[ブックA]
Dim 変数 As String
ブックB = "ブックB.xlsx"
変数="あああ"
Application.Run ブックB & "!マクロ名", 変数 ←★ここでエラーが発生

[ブックB]
Dim 変数 As String
Sheets("Sheet1").range("A1") = "変数"

両ブックともに変数の型をVariantにしてみても変化なしでした。

原因と解決策をご教授いただけないでしょうか。
宜しくお願い致します。

閲覧数:
22
回答数:
1

違反報告

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

プロフィール画像

カテゴリマスター

hot********さん

2019/12/1405:03:54

>ブックB = "ブックB.xlsx"
でなくて
ブックB = "ブックB.xlsm"
の場合です。
また
>Sheets("Sheet1").range("A1") = "変数"
ではアクティブシートになるので
ThisWorkbook.Sheets("Sheet1").Range("A1") = 変数
にしました。


[ ブックA.xlsm ]
Sub sample()
Dim ブックB As String
Dim 変数 As String
ブックB = "ブックB.xlsm"
変数 = "あああ"
Application.Run ブックB & "!マクロ名", 変数
End Sub



[ ブックB.xlsm ]
Sub マクロ名(変数 As String)
ThisWorkbook.Sheets("Sheet1").Range("A1") = 変数
End Sub

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

2019/12/14 14:30:56

失礼しました、質問時の誤記がひどかったですね…
ありがとうございます!お教えいただいた内容で無事解決いたしました!!

あわせて知りたい

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

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

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

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

閉じる

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

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

閉じる