
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)
-
初歩的な事だと思います。 Sub または Function が定義されていません。
Visual Basic(VBA)
-
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
-
4
EXCELで特定のセルに表示された項目をヘッダーやフッターに出力するには
Excel(エクセル)
-
5
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
6
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
7
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
8
Private Sub内でSubをCallしたい
その他(プログラミング・Web制作)
-
9
Application.Runエラー(1004)
Excel(エクセル)
-
10
private subモジュールを他のモジュールから呼び出して使う方法を教えてください(-.-)
Visual Basic(VBA)
-
11
AccessからExcelにエクスポートする時に常に上書きしたい
Excel(エクセル)
-
12
エクセルVBAでオートフィルター最上行を取得するには
Excel(エクセル)
-
13
ExcelVBAのユーザーフォームの中に線を引きたい
Visual Basic(VBA)
-
14
ExcelVBAで質問です。Workbook_openイベントが発生し
その他(Microsoft Office)
-
15
マクロの「SaveAs」でエラーが出るのを解消したいです(再)
Visual Basic(VBA)
-
16
UserForm1.Showでエラーになります。
工学
-
17
VBA[Private Sub]のコードをシート上の図形に登録する方法を教えて
Visual Basic(VBA)
-
18
エクセルvbaでdocuworksprinterの出力先を設定
Visual Basic(VBA)
-
19
worksheetFunctionクラスのVlookupプロパティを取得できません エラーへの対応
Visual Basic(VBA)
-
20
VBA:ユーザーフォームのマルチページに色を付けたい。
Word(ワード)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAで保存しないで閉じると空の...
-
【Excel VBA】マクロでExcel自...
-
エクセル関数>参照ファイル名...
-
マクロの保存先、開いてるすべ...
-
【Excel】マクロの保存先について
-
[フィルターオプションの設定]...
-
ファイル名変更後も、マクロを...
-
エクセルのvbaにて thisworkboo...
-
EXCELマクロで、開いてはいるが...
-
エクセルを開いて文字を打つ際...
-
エクセル;相対パスを絶対パスへ...
-
マクロ 自動でパスワード及び指...
-
EXCELブックが勝手に開いて困っ...
-
【Excel】特定セルの内容をテキ...
-
EXcelのマクロで相対パスでファ...
-
エクセルVBA 個人用マクロブッ...
-
複数のExcelファイルの印刷設定...
-
エクセルで未保存に対するメッ...
-
複数のExcelブックから特定シー...
-
excelで直前に参照していたブッ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAで保存しないで閉じると空の...
-
エクセル関数>参照ファイル名...
-
【Excel VBA】マクロでExcel自...
-
エクセルのvbaにて thisworkboo...
-
マクロの保存先、開いてるすべ...
-
エクセル;相対パスを絶対パスへ...
-
【Excel】マクロの保存先について
-
EXcelのマクロで相対パスでファ...
-
複数のExcelファイルの印刷設定...
-
excelで直前に参照していたブッ...
-
EXCELマクロで、開いてはいるが...
-
[フィルターオプションの設定]...
-
EXCELのボタンによるマクロの登...
-
EXCELブックが勝手に開いて困っ...
-
エクセルで使用期限付きのブッ...
-
エクセルを開いて文字を打つ際...
-
エクセルで未保存に対するメッ...
-
エクセルVBA 個人用マクロブッ...
-
【マクロ】マクロが保存されて...
-
エクセルで複数ファイルのセル...
おすすめ情報