お知らせ
こちらの記事は、電子書籍「難しく考えないExcel VBA基礎学習編」として出版されました。記事は途中までが試し読みの対象となります。
目標
Subプロシージャ・Functionプロシージャ・イベントプロシージャの違いを確認する
Excel VBA の「ByVal(値渡し)とByRef(参照渡し)」を理解して利用できる
3つのプロシージャの概要
プロシージャには「Subプロシージャ」・「Functionプロシージャ」・「イベントプロシージャ」の3つがあります。
3つのプロシージャの概要
Subプロシージャ
Subプロシージャは各種モジュールの中で実行されるプログラムです。ワークシートに設置したフォームコントロールボタンなどに「マクロの登録」をする場合はSubプロシージャである必要があります。

Functionプロシージャ
Functionプロシージャは他のプロシージャに呼び出されて実行されるプログラムです。Subプロシージャもサブルーチンとして呼び出して実行できますが、Functionプロシージャの特徴は戻り値(処理が動いた後に生成された値を返す機能)を利用できることです。FunctionプロシージャはVBAプログラムとして動かす以外にワークシート関数としても利用ができます。
SubプロシージャとFunctionプロシージャの違いをまとめると次のようになります。
Subプロシージャ | Functionプロシージャ | |
マクロの登録 | 〇 | × |
他プロシージャからの呼び出し | 〇 | 〇 |
引数の利用 | 〇 | 〇 |
戻り値の利用 | × | 〇 |
ワークシート関数として利用 | × | 〇 |
引数については下の「引数付きサブルーチンの概要と利用方法」を参考にしてください。

印刷機能番外|Excel VBA (Part.3)【サブルーチン】編ExcelVBAのサブルーチンについての記事です。...
イベントプロシージャ
イベントプロシージャはシートの選択やマウスクリックなどをきっかけにして動くプロシージャのことです。
この記事の試し読みはここまでとなります。
「ByVal」と「ByRef」の概要と利用方法
Excel VBA の「ByVal」と「ByRef」とは
…
ByValとは
…
…
…
ByRefとは
…
…
…
サンプルプロシージャ1(ByVal:値渡し)
…
…
実行結果
…
サンプルプロシージャ2(ByRef:参照渡し)
…
…
実行結果
…
今回は以上となります。

初心者も実践で通用!「VBA・VBS」おすすめ書籍5選 | 現役エンジニア&プログラミングスクール講師「VBA・VBS」初心者の方が実践業務の中でそれらを活用しt活躍できるために必要な知識を習得できる書籍を紹介しています。ページの下部には「おすすめのITスクール情報」「おすすめ求人サイト」について情報を掲載中。...
ブックマークのすすめ
「ほわほわぶろぐ」を常に検索するのが面倒だという方はブックマークをお勧めします。ブックマークの設定は別記事にて掲載しています。

「お気に入り」の登録・削除方法【Google Chrome / Microsoft Edge】「お気に入り」の登録・削除方法【Google Chrome / Microsoft Edge】について解説している記事です。削除方法も掲載しています。...

【パソコン選び】失敗しないための重要ポイント | 現役エンジニア&プログラミングスクール講師【パソコン選び】失敗しないための重要ポイントについての記事です。パソコンのタイプと購入時に検討すべき点・家電量販店で見かけるCPUの見方・購入者が必要とするメモリ容量・HDDとSSDについて・ディスプレイの種類・バッテリーの持ち時間や保証・Officeソフト・ウィルス対策ソフトについて書いています。...