関数は自分で作る

Exclマクロ特有?引数なしのプロシージャ

何それ?

文中に?があるし、変ですが。

「引数なしのプロシージャ」について語りたい。

世間で見るのは引数なしプロシージャ。引数?って方はこちら

メリット

  1. マクロ実行できる
  2. 引数が無いのでマウスクリックで実行できる
  3. デバッグ時の実行が簡単

デメリット

あるかな?

  1. 引数が無いと何を処理するプロシージャか一見わからない
  2. Excelのセルやグローバル変数を使いがち。で読みにくい?
  3. となると、プロシージャごとにExcelのセルやグローバル変数?をチェックが必要で。読みにくい

以下は、標準モジュールのコード

Option Explicit

Sub main()
    a
End Sub


Sub a(Optional x = 1)
    Debug.Print x
End Sub

aプロシージャは、引数があるから実行できない。いくらOptionalでも。しかし、mainは引数無しだからマウスクリックで実行できる。それに、マクロ登録も可能。

モバイルバージョンを終了