サブルーチンとは?Callや参照渡し値渡しなど[VBA]
親マクロから別プロシージャを呼び出す方法の解説です。
0:00 マクロの部品化とは
0:26 部品化するメリット
0:39 メインルーチンとサブルーチン
0:49 別プロシージャを呼び出す方法
1:56 Callステートメント
3:06 別モジュールから呼び出し
3:34 同一のプロシージャ名がある場合
4:42 Private SubとPublic Sub
5:44 引数付きサブルーチン
7:12 実引数と仮引数
8:26 複数の引数を渡すケース
9:36 Callは括弧が必須
9:54 参照渡し
11:36 値渡し
12:06 実引数にカッコを付けると
VBAプログラミング基礎講座の再生リスト
• VBAプログラミング基礎講座
Пікірлер: 12
この辺気になって調べても「わかるでしょ?」って感じで当然のようにカッコ内の記述とかいつの間にか変わってる変数名とか書いてあっていまひとつ理解できなかったけど、この動画は分かりやすかったー 用語の解説をひとつひとつ丁寧にしてくれるの本当に助かる!
マクロの部品化コンセプトのもと、二次利用するようにしています。 参照渡しと値渡し、今まで分からなかったですが、わかるようになりました。 ありがとうございます😊
@macro-chan
3 жыл бұрын
難しいところなんですが、この説明で理解していただいて嬉しいです!
この動画で長年謎だった概念が分かりました。本当に感謝しています。会社で拡散します。
昔、DOS5.2が有った頃良くやってたバッチファイルって感じですね。長いの作って遊んでました(^^♪ あと、C言語のメインから呼び出す関数的感じですか 懐かしく聞いています。 現在VBやってますけど、(スイマセン趣味です)このやりかた値渡しとか参照渡しとか昔やってたので今も良くやります。
サブルーチンの呼び出し方は? →マクロ名を書くだけ (callを付ける理由はプロシージャか ステートメントか区別のため) *s_を頭につけて差別化が分かり易い ○モジュールを跨いだサブルーチンの呼び方 →モジュール名.サブルーチン *別モジュールならプロシージャ名一緒 でもエラーにならない サブルーチン名の重複は避ける ○Privateと ○実引数と仮引数 親マクロからサブマクロに引き継がれる
実引数と仮引数の対応するものも慣例的にあるのですか? Callスタートメントは、引数を使う単位で部品化するほうが使い勝手が良さそうですね。
@macro-chan
3 жыл бұрын
とりあえず片方を省略する形式が多いです。たとえば、実引数をMyData、仮引数をdataとするみたいな感じです。 そこでミスったのに気がついたのですが、動画では実引数をn、仮引数をnumにしてますよね。でも実引数のほうをしっかり書くのが慣例的なので、実引数をnum、仮引数をnにするべきでした(すみません)。
メインルーチンの引数nをサブルーチンで変数numに渡して処理するというイメージ。慣例で名前が変わる点注意! (実引数) (仮引数)
参照渡し・値渡し、なんとなく理解しましたが どのような場面で利用するのでしょうか? 補足的に実務上の利用方法の動画出していただけると ありがたいです。勝手なことをいってすいません^^;
@macro-chan
3 жыл бұрын
ご感想ありがとうございます。 具体的な利用シーンですね。そのうち作ってみます!
@takefusakubo4133
3 жыл бұрын
@@macro-chan ありがとうございます!