![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
No.2ベストアンサー
- 回答日時:
こんにちは。
>なぜでしょう?
理由は、グローバル化していないからです。
私は、長い間、分かりませんでした。
標準モジュールなら、Private を付けないかぎりは、Public 化していますが、それでは、一つのブックの中でしか通用しません。例えばユーザー定義関数を作って、別のブックの標準モジュール に保管したものも使えません。
通常は、#1さんが示しているように、Application.Run で呼び出しをしますが、常に使うものには、そういう面倒なことをしたくないものです。
その場合、呼び出される(マクロを登録した)ブックを、マクロを呼び出す側のVBE のツールから、参照設定を使うのです。ただし、VBProject という名称は、ダブってしまいますので、呼び出されるブックのプロパティのVBProject の名前は換えてください。また、プロシージャ名や関数名も一意のものにします。
当然、参照設定すると、今度は元のブックを開くと、呼び出されるブックは自動的についてきます。それはうっとうしいわけです。
だから、その呼び出される側のブックをアドイン化してしまうということをします。
ただし、個人用マクロブックに対しては、Excelでは参照設定しないのが一般的です。理由は知りませんが、もしかすると、個人用マクロブックは、一般のユーザーが知らないようなデータも含んでいるのかもしれません。個人用マクロブックは取り扱いには慎重に扱ったほうが良いようです。MS-Wordの場合は、最初から設定が入っています。
えてください。圧倒的に前者のRun を使う方が多いですが、参照設定自体は、手動だけでなく、マクロで自動的に設定が可能です。Application.Run で行うか、参照設定にするかは、その状況によって変えてください。
No.3
- 回答日時:
こんばんは。
>えーそりゃないよ引数付はダメじゃん、が感想です。
こんな感じで処理することもあります。
'//
'TestBook1.xlsmが同じフォルダーにある場合
num = 5
Application.Run "'TestBook1.xlsm'!Module1.MyTestArg(" & num & ")"
'ただ、あまりうまくいくとはいえません。これは、文字の引数が受けられません。
'やはり、Call の方が上です。
'--------------
Public Sub MyTestArg(arg)
If IsNumeric(arg) Then
MsgBox arg ^ 2
Else
MsgBox "文字? " & arg
End If
End Sub
'//
No.1
- 回答日時:
ブックが違うものはCallでは呼べません。
Book1
Sub Test()
Application.Run "PERSONAL.XLSB!Module1.Macro1"
End Sub
PERSONAL.XLSB
Sub Macro1()
Range("A1").Selelct
End Sub
いやいや使いたい時にいつでも実行出来るように登録するのが個人用⚫⚫⚫
と書こうとしたところで分かりました。
他所からcallするのがダメなのですね。
えーそりゃないよ引数付はダメじゃん、が感想です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) パーソナルXLSBのfuctionを呼び出すと「Functionが定義されていません」のエラーになる 2 2022/08/22 22:51
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/08/10 14:24
- Excel(エクセル) 【マクロ】スクショ印刷がうまく動かない件 5 2022/12/06 17:37
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/13 08:41
- Excel(エクセル) 【VBAファイル移動】2つのマクロを順に実行。1つ目のマクロが実行不可⇒2つ目が実行不可となる件 2 2022/07/29 12:17
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/08/08 15:45
- Excel(エクセル) Excelのマクロコードについて教えてください。 1 2022/03/27 10:47
- Excel(エクセル) エクセルVBAでオブジェクトが必要です 2 2022/09/10 16:37
- Excel(エクセル) 2つのマクロを連続して動かしたい 3 2022/09/20 23:46
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/01/23 11:02
このQ&Aを見た人はこんなQ&Aも見ています
-
賃貸で可能な古民家風レトロな部屋作りのコツ!改めて知る畳の高い機能性と魅力も紹介
畳の部屋を雰囲気のよい部屋に仕上げたい!賃貸住宅でもできる古民家風のレトロな部屋作りのコツを伺った。
-
パーソナルXLSBのfuctionを呼び出すと「Functionが定義されていません」のエラーになる
Visual Basic(VBA)
-
Application.Runエラー(1004)
Excel(エクセル)
-
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
-
4
VBSでEXCELのXLSTARTにあるマクロを実行するには
その他(プログラミング・Web制作)
-
5
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
6
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
7
Excelのセルにユーザー名を表示する方法
Excel(エクセル)
-
8
UserForm1.Showでエラーになります。
工学
-
9
エクセルVBAで5行目からオートフィルタモードに設定したいたい
Excel(エクセル)
-
10
VBA(エクセル)で自動的にボタンをクリックさせるには
その他(プログラミング・Web制作)
-
11
VBAでcallで呼び出したsubを終了させる
Visual Basic(VBA)
-
12
VBA 変数名に変数を使用したい。
Visual Basic(VBA)
-
13
WorkBooksをオープンさせずにシートにコピーしたい【EXCEL VBA】
Excel(エクセル)
-
14
エクセルVBAで作成した別ブックにVBAを記述したい
Access(アクセス)
-
15
エクセルのエラーメッセージ「400」って?
Visual Basic(VBA)
-
16
Excel>PERSONAL.XLSが開かれているので読み取り専用を推奨されてしまう
Excel(エクセル)
-
17
VBA シートのボタン名を変更したい
Visual Basic(VBA)
-
18
画像を削除したい(VBA)
Word(ワード)
-
19
ExcelVBAでBookを開く時にファイル名の一部だけを指定で
Access(アクセス)
-
20
VBAで、なぜかSendkeyが効きません。
PowerPoint(パワーポイント)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAで保存しないで閉じると空の...
-
エクセル関数>参照ファイル名...
-
excelで直前に参照していたブッ...
-
マクロの保存先、開いてるすべ...
-
複数のExcelファイルの印刷設定...
-
エクセルのvbaにて thisworkboo...
-
【Excel VBA】マクロでExcel自...
-
EXcelのマクロで相対パスでファ...
-
EXCELブックが勝手に開いて困っ...
-
エクセルVBAで作成した別ブック...
-
エクセル;相対パスを絶対パスへ...
-
エクセルで未保存に対するメッ...
-
名前の変わるブックをアクティ...
-
ファイル名変更後も、マクロを...
-
【Excel】マクロの保存先について
-
ブックを開いたとき自動的にバ...
-
複数のExcelブックから特定シー...
-
[フィルターオプションの設定]...
-
個人用マクロブックが消えました
-
EXCELのボタンによるマクロの登...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAで保存しないで閉じると空の...
-
エクセル関数>参照ファイル名...
-
【Excel VBA】マクロでExcel自...
-
マクロの保存先、開いてるすべ...
-
エクセル;相対パスを絶対パスへ...
-
【Excel】マクロの保存先について
-
excelで直前に参照していたブッ...
-
EXcelのマクロで相対パスでファ...
-
エクセルVBAで作成した別ブック...
-
【マクロ】必要な項目(列)の...
-
複数のExcelファイルの印刷設定...
-
エクセルのvbaにて thisworkboo...
-
エクセルで未保存に対するメッ...
-
名前の変わるブックをアクティ...
-
ファイル名変更後も、マクロを...
-
エクセルVBA 個人用マクロブッ...
-
EXCELのボタンによるマクロの登...
-
個人用マクロブックが消えました
-
【Excel】特定セルの内容をテキ...
-
【マクロ】マクロが保存されて...
おすすめ情報