Excel VBA サブルーチン: VBA で Sub を呼び出す方法と例

VBAのサブルーチンとは何ですか?

A VBAのサブルーチン コードに記述されている特定のタスクを実行しますが、結果や値を返さないコードの一部です。 サブルーチンは、大きなコードを管理しやすい小さな部分に分割するために使用されます。 サブルーチンは、プログラム内のどこからでも何度でも呼び出すことができます。

ユーザー入力データを受け入れるためのテキスト ボックスを備えたユーザー インターフェイスを作成したとします。テキスト ボックスの内容をクリアするサブルーチンを作成できます。このようなシナリオでは結果を返さないため、VBA 呼び出しサブルーチンが適しています。

サブルーチンを使用する理由

  • コードを管理しやすい小さなコードに分割する: 平均的なコンピュータ プログラムには、何千行ものソース コード行があります。これにより、複雑さが生じます。サブルーチンは、プログラムを管理しやすい小さなコード チャンクに分割することで、この問題を解決します。
  • コードの再利用性データベースにアクセスするプログラムがあるとします。プログラム内のほぼすべてのウィンドウはデータベースとやり取りする必要があります。これらのウィンドウに個別のコードを書く代わりに、すべてのデータベースとのやり取りを処理する関数を作成できます。その後、任意のウィンドウからその関数を呼び出すことができます。
  • サブルーチンと関数は自己文書化されています。 CalculateLoanInterest という関数と、connectToDatabase という関数があるとします。 プログラマは、サブルーチン/関数の名前を見るだけで、そのプログラムが何を行うのかを知ることができます。

サブルーチンと関数の命名規則

サブルーチンや関数を使用するには、従わなければならない一連のルールがあります。

  • サブルーチンまたは VBA 呼び出し関数名にはスペースを含めることはできません
  • Excel VBA Call Sub または関数名は、文字またはアンダースコアで始まる必要があります。 数字や特殊文字で始めることはできません
  • サブルーチン名または関数名をキーワードにすることはできません。 キーワードとは、特別な意味を持つ単語です。 VBA。 Private、Sub、Function、End などの単語はすべてキーワードの例です。 コンパイラはこれらを特定のタスクに使用します。

VBA サブルーチン構文

この例に従うには、Excel の [開発] タブを有効にする必要があります。 「開発」タブを有効にする方法がわからない場合は、次のチュートリアルをお読みください。 VBA Operaトー

ここの構文では、

Private Sub mySubRoutine(ByVal arg1 As String, ByVal arg2 As String)
    'do something
End Sub

構文説明

CPコード 行動
  • 「プライベートサブ mySubRoutine(…)」
  • ここでは、キーワード「Sub」を使用して「mySubRoutine」という名前のサブルーチンを宣言し、サブルーチンの本体を開始します。
  • キーワード Private は、サブルーチンの範囲を指定するために使用されます。
  • 「文字列としての ByVal arg1、文字列としての ByVal arg2」:
  • 文字列データ型名の1つのパラメータarg2とargXNUMXを宣言します。
  • 「エンドサブ」
  • 「End Sub」はサブルーチン本体の終了に使用します。

次のサブルーチンは、姓と名を受け入れ、それをメッセージ ボックスに表示します。

次に、このサブプロシージャをプログラムして実行します。 これを見てみましょう。

VBAでSubを呼び出す方法

以下は、VBA で Sub を呼び出す方法を段階的に示したプロセスです。

  1. ユーザー インターフェイスを設計し、ユーザー コントロールのプロパティを設定します。
  2. サブルーチンを追加する
  3. サブルーチンを呼び出すコマンド ボタンのクリック イベント コードを記述します。
  4. アプリケーションをテストする

ステップ1) ユーザーインターフェース

以下の図に示すようにユーザー インターフェイスを設計します。

VBAでSubを呼び出す方法

次のプロパティを設定します。設定するプロパティは次のとおりです。

S / N 管理 プロパティ
1 コマンドボタン1 お名前 btn表示フルネーム
2 キャプション フルネームサブルーチン


インターフェースは次のようになります。

VBAでSubを呼び出す方法

ステップ2) サブルーチンの追加

  1. Alt + F11 を押してコード ウィンドウを開きます
  2. 次のサブルーチンを追加します
Private Sub displayFullName(ByVal firstName As String, ByVal lastName As String)
    MsgBox firstName & " " & lastName
End Sub

ここのコードでは、

CPコード
  • 「プライベートサブディスプレイフルネーム(…)」
  • 2 つの文字列パラメータを受け入れるプライベート サブルーチン displayFullName を宣言します。
  • 「文字列として ByVal firstName、文字列として ByVal lastName」
  • 2つのパラメータ変数firstNameとlastNameを宣言します。
  • メッセージBox 名前苗字"
  • それはメッセージを呼び出しますBox メッセージ ボックスを表示する組み込み関数。次に、'firstName' および 'lastName' 変数をパラメーターとして渡します。
  • アンパサンド「&」は XNUMX つの変数を連結し、それらの間に空のスペースを追加するために使用されます。

ステップ3) サブルーチンの呼び出し

コマンドボタンのクリックイベントからサブルーチンを呼び出します。

  • 下の画像に示すように、コマンド ボタンを右クリックします。 「コードを表示」を選択します。
  • コードエディタが開きます

VBAでSubを呼び出す方法

コード エディターで、btnDisplayFullName コマンド ボタンのクリック イベントに次のコードを追加します。

Private Sub btnDisplayFullName_Click()
    displayFullName "John", "Doe"
End Sub

コード ウィンドウは次のようになります。

VBAでSubを呼び出す方法

変更を保存し、コード ウィンドウを閉じます。

ステップ4) コードのテスト

開発者ツールバーでデザインモードを「オフ」にします。 以下に示すように。

VBAでSubを呼び出す方法

ステップ5) コマンドボタン「FullNameサブルーチン」をクリックします。

次のような結果が得られます

VBAでSubを呼び出す方法

上記のExcelコードをダウンロードします。

製品概要

  • サブルーチンは、特定のタスクを実行するコードの一部です。 サブルーチンが実行後に値を返さない
  • サブルーチンはコードの再利用性を提供します
  • サブルーチンは、コードの大きな塊を管理しやすい小さなコードに分割するのに役立ちます。