第105回.Callステートメント
プロシージャーの中で他のプロシージャーを呼び出すときには、マクロVBAではCallステートメントを使います。
Call先のプロシージャー終了後は、Callステートメントの次のステートメントに制御が移ります。
適切な単位の部品を作り、その部品を組み合わせて製品を作り上げていきます。
プロシージャーをどのような単位で作るか等については、
こちらを参考にしてください。
今回は、Callステートメントの文法的な面のみ取り上げて解説します。
Callステートメント
指定するときは、引数リスト (引数 argumentlist) をかっこで囲む必要があります。
呼び出すプロシージャの名前を指定します。
呼び出すプロシージャーにデータを渡すための引数です。
Callステートメントの使用例
Sub sample1()
'・・・処理・・・
End Sub
Sub sample2(arg1, arg2)
'・・・処理・・・
End Sub
上記Subプロシージャーに制御を渡す場合のVBA記述方法としては、
Call Sample1
sample2 arg1, arg2
Call sample2(arg1, arg2)
Callを記述した場合は、引数リストはかっこで囲います。
これは間違った記述になります。

制御先のプロシージャーが終了した後は、Callの次のステートメントに制御が移ります。
Sub sample1()
'・・・処理A・・・
Call sample2
'・・・処理B・・・
End Sub
Sub sample2()
'・・・処理C・・・
End Sub
上記では、
処理A→処理C→処理B
この順に処理されます。
引数の使い方については、次々回の、
第107回.プロシージャーの引数
同じテーマ「マクロVBA入門」の記事
第132回.その他のExcel機能(グループ化、重複の削除、オートフィル等)
第135回.ジャンプの選択オプション(SpecialCells)
第141回.行・列の表示・非表示・列幅・行高
第105回.Callステートメント
第106回.Functionプロシージャー
第107回.プロシージャーの引数
第108回.変数の適用範囲(スコープ,Private,Public)
第100回.InputBoxメソッド(インプットボックス)
第101回.Midステートメント
第102回.Intersectメソッド
第103回.UnionメソッドとAreasプロパティ
新着記事NEW ・・・新着記事一覧を見る
VBA100本ノック 100本目:WEBから100本ノックのリストを取得|VBA練習問題(3月3日)
VBA100本ノック 99本目:自動席替え(行列と前後左右が全て違うように)|VBA練習問題(3月2日)
VBA100本ノック 98本目:席替えルールが守られているか確認|VBA練習問題(3月1日)
VBA100本ノック 97本目:Accessデータを取得(グループ集計)|VBA練習問題(2月27日)
VBA100本ノック 96本目:Accessデータを取得(マスタ結合&抽出)|VBA練習問題(2月26日)
VBA100本ノック 95本目:図形のテキストを検索するフォーム作成|VBA練習問題(2月24日)
VBA100本ノック 94本目:表範囲からHTMLのtableタグを作成|VBA練習問題(2月23日)
VBA100本ノック 93本目:複数ブックを連結して再分割|VBA練習問題(2月22日)
VBA100本ノック 92本目:セルの色を16進で返す関数|VBA練習問題(2月20日)
VBA100本ノック 91本目:時間計算(残業時間の月間合計)|VBA練習問題(2月19日)
アクセスランキング ・・・ ランキング一覧を見る
1.最終行の取得(End,Rows.Count)|VBA入門
2.RangeとCellsの使い方|VBA入門
3.変数宣言のDimとデータ型|VBA入門
4.マクロって何?VBAって何?|VBA入門
5.Range以外の指定方法(Cells,Rows,Columns)|VBA入門
6.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
7.繰り返し処理(For Next)|VBA入門
8.セルに文字を入れるとは(Range,Value)|VBA入門
9.マクロはどこに書くの(VBEの起動)|VBA入門
10.とにかく書いてみよう(Sub,End Sub)|VBA入門
このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。