和風スパゲティのレシピ

日本語でコーディングするExcelVBA

プロシージャ分割

引数を好きな個数渡せる関数を作る-ParamArray

Sub、Functionなどを作成するとき、任意の数の引数を渡す方法を解説します。ParamArray 引数名() という引数を作ると、呼び出す側では複数の引数として渡すことができ、プロシージャ内で実際に使うときは、配列として扱うことができます。

Sub/Functionの引数を省略可能にする-Optional

Sub、Functionなどの引数を省略可能にするOptionalの使い方を解説します。「引数名 As データ型」という普段の宣言部分に、先頭にOptionalをつけると、その引数は省略可能になり、後ろに「= ○○」をつけると省略時の値を設定することができます

Property Let と Property Set の違い

プロシージャの種類である、Property LetとProperty Setの違いを解説します。両者とも、プロパティの取得・設定を対となる2関数で行う仕組みのうちの、「値の設定」を担うプロシージャですが、対象とするプロパティがオブジェクトかどうかが異なります。

Function と Property Get の違い

プロシージャの種類である、FunctionとProperty Getの違いを解説します。どちらも、任意の数の引数を受け取り、1つの値を返します。Propertyの本来の目的である、同じ名前のProperty Let/Setプロシージャを用意できる点が、最も大きな違いです。

帳票出力マクロをプロシージャ分割して書く

完成品の全体が見たい!という方のための、完成品マクロのサンプルコードです。今回のテーマは「データシート⇒帳票を出力」です。関数(プロシージャ)分割を使って、メンテナンス性を意識したコードにしておりますので、参考にしてみてください。

汎用マクロ・便利ツール用の共通関数について

本ブログで紹介している、汎用マクロ・便利ツールは、特に頻出の処理を、共通の関数として抽出して使っています。共通関数のソースコードと解説を以下に記しておきますので、コードの説明が読みたい方はご利用ください。