3
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【vba】FunctionプロシージャとSubプロシージャの違いをまとめる【個人用】

Posted at

はじめに

vbaのFunctionプロシージャとSubプロシージャについて忘れないように使い方のポイントを軽くまとめます。

プロシージャとは

プロシージャとはモジュール内にある
VBAの複数の処理のことである。

種類としてはSubプロシージャとFunctionプロシージャの2種類がある。

SubプロシージャとFunctionプロシージャの違い

Subプロシージャは

・単独で実行することができる
・マクロなどの実行画面ではSubプロシージャが出てくるがfunctionは出てこない
・返り値を返すことができない
・イベント系のプログラムは基本的にSubになっている

Functionプロシージャは

・呼ばれて動く
・呼ばれるために作る
・functionは関数であるため引数が必要
・返り値を返すことができる
・Subプロシージャから呼ばれて使われることがほとんど(単独で動くことができないから)
・基本的にcallで呼ばれるのでプログラム開始時に利用できない
・基本的にcallで呼ばれるのでプログラム終了時に利用できない

使いわけ

引数が必要かどうか、返り値を出すものなのか
呼ばれる前提の処理なのか
この辺で個人的にはsubかfunctionを使いわけていきたいと思っテイル。(今の段階では)

サブルーチン化されたプログラムではFunctionプロシージャのありがたみを感じるらい

終わり。

3
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?