教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について紹介します。

【ExcelVBA フォーム&コントロール】コマンドボタンをクリックした時にプロシージャを実行する方法を教えて!

構文

構文は以下の通りです。

Private Sub CommandButton_Click()
    ' ここに実行したいプロシージャのコードを記述します
End Sub

解説

コマンドボタンをクリックした際に実行するプロシージャは、イベントハンドラとして定義します。イベントハンドラは、特定のイベントが発生した際に自動的に実行されるサブルーチン(プロシージャ)のことです。コマンドボタンの場合は、Clickイベントが発生するため、CommandButton_Clickという名前のイベントハンドラを作成します。CommandButtonはコマンドボタンの名前に置き換える必要があります。このイベントハンドラの中に、クリックされた時に実行したいコードを記述します。

使い方

具体的な使い方を紹介します。

Private Sub CommandButton1_Click()
    ' メッセージボックスの表示
    MsgBox "ボタンがクリックされました!", vbInformation, "メッセージ"
End Sub

このプログラムでは、コマンドボタンをクリックすると「ボタンがクリックされました!」というメッセージボックスが表示されます。

プログラミング例

以下に、プログラミング例を紹介します。

Private Sub btnCalculateSum_Click()
    Dim sum As Double
    Dim cell As Range
    ' セル範囲 B1 から B10 までの値を合計する
    For Each cell In Range("B1:B10")
        sum = sum + cell.Value
    Next cell
    ' 合計値をセル C1 に表示する
    Range("C1").Value = sum
End Sub

上記は、B1セルからB10セルまでの値を合計し、その結果をC1セルに表示するプログラムが完成しました。コマンドボタンをクリックすると、自動的に合計値が更新されます。

まとめ

コマンドボタンをクリックした際にプロシージャを実行する方法を紹介しました。コマンドボタンを使用することで、ユーザーは簡単に特定の操作を実行できます。ボタンのキャプションやアイコンを適切に設定すれば、ユーザーがどのような操作をするかを理解しやすくなります。また、コマンドボタンのクリックにより、特定のデータ処理や計算を簡単に自動化できます。複雑な作業を一つのボタンにまとめることで、作業効率を向上させることができます。是非活用してください。