
No.2ベストアンサー
- 回答日時:
こんにちは。
こういうのは、ほとんど、みなさん、見よう見まねだと思いますし、分からずに使っているものだと思います。以下を見ても区別は付かないと思いますが、基本的には、自ブック(ThisWorkbook)に対して、「Application.Run "ThisWorkbook.○○"」このようなコードは書きません。
Call がよいとか、どうかは、その状況によります。ただ、基本ですと、Excelの場合は、標準モジュールから、ThisWorkbook のコードは呼び出すことはありません。必要なら、両方とも、標準モジュールに書き込みます。ThisWorkbookは、ローカルオブジェクトを持っていますから、特別な働きを持たすコードでなければ、そこに書きません。
プロシージャのTest_A ~ Test_C までの中で、Test_C は、通常、このようには書きません。
同じプロシージャの Test1 ~Test3で、Test1とTest2 は、呼び出し側から、値渡し・参照渡しがコントロールできますが、Call で呼び出した場合は、呼び出される側で値渡し・参照渡しが決められます。
だから、Call を使うことが多いことになろうかと思います。
'-------------------------------------------
'標準モジュール
Sub Test_A()
Call ThisWorkbook.myTest1
End Sub
Sub Test_B()
ThisWorkbook.myTest1
End Sub
Sub Test_C()
Application.Run "ThisWorkbook.myTest1"
End Sub
'-------------------------------------------
'標準モジュール
Sub Test1()
Dim n
'参照渡し
ThisWorkbook.myTest2 n
MsgBox n
End Sub
Sub Test2()
Dim n
'値渡し
ThisWorkbook.myTest2 (n)
MsgBox n
End Sub
Sub Test3()
Dim n
Call ThisWorkbook.myTest2(n)
MsgBox n
End Sub
'-------------------------------------------
'ThisWorkbook モジュール
'-------------------------------------------
Sub myTest1()
MsgBox Time
End Sub
Sub myTest2(arg As Variant)
'参照渡し(デフォルト)
arg = Time
End Sub
No.3
- 回答日時:
こんにちは。
>このコードは、ユーザーフォーム上でも基本的には使用しないのですか?
このコードというのは、Application.Run のことでしょうか?
同様です。つまり、
多少、状況にも変わってきますが、UserForm から呼び出しする場合にも、基本的には、呼び出される方のプログラムは、標準モジュールにプログラムコードを置き、
Call プロシージャ名
とします。
状況が変わるという意味は、UserForm 上に置くことがあります。
それでも、Application.Runは使いません。
No.1
- 回答日時:
こんなところへ質問する前に。
Googleででも「VBA Application.Run」で照会すれば、沢山記事が出ます。検索では、「VBA」を前に添えたほうが良い。他の言語にも有るようだから。
じっくり数個の記事を読むこと。
http://officetanaka.net/excel/vba/tips/tips09.htm
など。
「他ブック」がキーワード。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/08/10 14:24
- Excel(エクセル) Excelのマクロコードについて教えてください。 1 2022/03/27 10:47
- Excel(エクセル) 【マクロ】マクロが保存されているエクセルとは、別のエクセルのオートフィルターのしぼりをクリアーしたい 2 2022/12/24 08:36
- Excel(エクセル) 【マクロ】webアドレスにて指定されたCSVファイル【excelソフト表示】を印刷する件 1 2023/02/15 01:52
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/10 11:34
- Visual Basic(VBA) VBAコードを張り付け後のエクセルの進め方 2 2023/02/07 18:24
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2023/05/23 16:28
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/07/13 12:31
- Excel(エクセル) 【マクロ】フォルダを2つのモニターの定位置に並べたい 2 2022/09/02 01:14
- Excel(エクセル) 【マクロ】フォルダを3つ、POモニター上に、決まった並べ方をしたい 4 2022/08/31 11:05
このQ&Aを見た人はこんなQ&Aも見ています
-
Application.Runエラー(1004)
Excel(エクセル)
-
VBA(エクセル)で自動的にボタンをクリックさせるには
その他(プログラミング・Web制作)
-
メッセージボックスのOKボタンをVBAでクリックさせたい
Visual Basic(VBA)
-
-
4
Excelマクロ ファイル名が変わるとエラーになる
Excel(エクセル)
-
5
Excel vbaで別ブックのコマンドボタンをクリック
Visual Basic(VBA)
-
6
VBA 実行時エラー 1004 マクロが使用できないエラーの原因がわかりません
Visual Basic(VBA)
-
7
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
8
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
9
ExcelVBAのユーザーフォームの中に線を引きたい
Visual Basic(VBA)
-
10
エクセルVBAが途中で止まります
Visual Basic(VBA)
-
11
特定のPCだけ動作しないVBAマクロがあります。その理由は?
Visual Basic(VBA)
-
12
VBA 変数名に変数を使用したい。
Visual Basic(VBA)
-
13
Excel VBAからAccessマクロを実行したい
Visual Basic(VBA)
-
14
ListView 項目の選択/選択解除について
Visual Basic(VBA)
-
15
別ブックからユーザーフォームを実行したい~!!
Visual Basic(VBA)
-
16
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
17
cellsで特定の離れた範囲を選択する方法は?
Visual Basic(VBA)
-
18
他のフォームから別のフォームのサブルーチンを呼び出す
Visual Basic(VBA)
-
19
ブック名、シート名を他のモジュールからも参照可能にする方法
Access(アクセス)
-
20
VBA シートのボタン名を変更したい
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
首吊りどこ締めるの
-
【Excelで「正弦波」のグラフを...
-
EXCELで条件付き書式で空白セル...
-
リンク先のファイルを開かなく...
-
尿検査前日に自慰行為した時の...
-
2つの数値のうち、数値が小さい...
-
彼女のことが好きすぎて彼女の...
-
エクセルで空白セルを含む列の...
-
MIN関数で空白セルを無視したい...
-
Excel 数値の前の「 ' 」を一括...
-
VLOOKUP関数を使用時、検索する...
-
小数点以下を繰り上げたものを...
-
値が入っているときだけ計算結...
-
至急!尿検査前日にオナニーし...
-
風俗店へ行く前のご飯
-
Excel 0目標に対して数字があ...
-
Excel条件付書式(残業45時間以...
-
エクセル指定した範囲からラン...
-
尿検査の前日は自慰控えたほう...
-
ワードのページ番号をもっと下...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
首吊りどこ締めるの
-
尿検査前日に自慰行為した時の...
-
至急!尿検査前日にオナニーし...
-
検便についてです。 便は取れた...
-
彼女のことが好きすぎて彼女の...
-
値が入っているときだけ計算結...
-
リンク先のファイルを開かなく...
-
EXCELで条件付き書式で空白セル...
-
2つの数値のうち、数値が小さい...
-
VLOOKUP関数を使用時、検索する...
-
尿検査の前日は自慰控えたほう...
-
MIN関数で空白セルを無視したい...
-
小数点以下を繰り上げたものを...
-
風俗店へ行く前のご飯
-
エクセルで空白セルを含む列の...
-
Excel 数値の前の「 ' 」を一括...
-
【Excelで「正弦波」のグラフを...
-
納豆食べた後の尿の納豆臭は何故?
-
EXCELで式からグラフを描くには?
-
ある範囲のセルから任意の値を...
おすすめ情報