Excel VBA プロシージャとは~SubとFunction・PublicとPrivateの呼出しについて

プロシージャとは、他のコードから呼び出し可能な一つのプログラム単位のことです。



Homeに戻る > Excel 基本Tipsへ

ExcelでVBAで必ず使用する、基本の機能なので必ず覚えてください。

プロシージャは1つの「手続き」「処理」「関数」などと呼ばれ、これを組み合わせることでソフトを作成していきます。

プロシージャは後で分かり易い単位で分割し作成します。このあたりは特に決まりはなく個人的な判断になります。

入力方法については「標準モジュール入力画面の表示方法」を参照してください。



プロシージャについて

プロシージャの分割について

下のように複数の処理を1つのプロシージャにすることもできるし、別々に分けることもできます。

例えば、入力された日付の曜日と祭日であれば祭日名を取得する場合、
[例 1個のコードで取得]
Sub
 曜日を算出
 祭日を算出
End Sub

 

[例 個々に分けて取得]
Sub
 曜日 (曜日を取得するプロシージャの呼び出し)
 祭日 (祭日を取得するプロシージャの呼び出し)
End Sub

Sub 曜日 (曜日を取得するプロシージャ)
 曜日を算出
End Sub

Sub 祭日 (祭日を取得するプロシージャ)
 祭日を算出
End Sub


プロシージャは、SubプロシージャとFunctionプロシージャの2種類があります。

Subプロシージャは値を返しません。

Sub プロシージャ名
 コード
End Sub


Functionプロシージャは値を返します。

Function プロシージャ名 As 型名
 コード
End Function


SubとFunctionの違いと、入力方法

  1. プロシージャはプログラムの処理の単位です。
    プロシージャには Sub と Function の2つがあります。
    ・Sub は値を返しません。
    ・Function は値を返します。
  2. 入力方法 下のように入力します。
    CalcA ~ CalcD がこちらが決めるプロシージャ名です。
    あとは決まりの文ですので覚えるしかありません。
プロシージャを入力するVBE画面

Public と Privateの違い

Publicが付くプロシージャは別のモジュールからでも呼び出しができます。

Privateが付くプロシージャは同じモジュールからのみ呼び出しできます。

後で「このプロシージャは他からも使われている」とか分かるように使い分けてください。


Functionプロシージャの戻り値の型を指定する As文

Asの後には返す値の型を付けます。

型には下記のようなものがあります。次の変数にも使用しますので覚えてください。

Bute 0 ~ 255 の数値
Boolean True(-1) か False(0)の数値
Integer -32768 ~ 32767 の数値
Long -2147483648 ~ 2147483647 の数値
Single 4 バイトの符号付き単精度浮動小数点数値。負の値は -3.4028235E+38 ~ -1.401298E-45、正の値は 1.401298E-45 ~ 3.4028235E+38 の数値
Double 8 バイトの符号付き浮動小数点数値。負の値は -1.79769313486231570E+308 ~ -4.94065645841246544E-324、正の値は 4.94065645841246544E-324 ~ 1.79769313486231570E+308 の数値
Currency 通貨を扱います。
-922,337,203,685,477.5808 ~ 922,337,203,685,477.5807
Date 日付・時間を扱います。
西暦100年1月1日 ~ 9999年12月31日
String 文字を扱います。
0 ~ 2GB
Object フォーム等のオブジェクトを扱います。
Variant あらゆるデータ型を扱います。
サイズが大きいのでなるべく決められた型を使用します。


Homeに戻る > Excel 基本Tipsへ

■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します


Copyright (c) Excel-Excel ! All rights reserved