InputBoxの使い方とキャンセルの場合の処理方法:Access VBA入門

InputBoxを使うとデータ入力のダイアログボックスを表示することができます。

キャンセルされた場合の処理についても掲載します。

基本的な構文 : 戻り値 = InputBox(メッセージ, タイトル, 初期値)

詳しい引数については、こちらのInputBox関数を参照してください。

BackHome BackVBA入門


● 基本的な使用例

下記のInputBoxを使用したVBAを入力します。
InputBoxを使用したVBA

Sub MyInput()
    Dim s As String
    
    s = InputBox("文字を入力してください", "InputBox使用例")
    MsgBox s
    
End Sub
  1. 文字列変数sを宣言
  2. InputBoxの戻り値を変数sに代入
  3. MsgBoxで変数sの内容を表示
実行結果はタイトルに指定した「InputBox使用例」が表示された、ダイアログボックスが表示されます。
「InputBox使用例」が表示された、ダイアログボックスが表示

データを入力し[OK]ボタンをクリックすると、入力したデータが表示されます。
入力したデータが表示

初期値を設定することもできます。
s = InputBox("入力してください", "InputBox使用例", "あいうえお123456789")
初期値を設定

初期値が選択された状態でダイアログボックスが表示されます。
初期値が選択された状態でダイアログボックスが表示

● InputBoxでキャンセルされた場合の処理

下はInputBoxの戻り値を数値変数に入力するようにしています。
InputBoxの戻り値を数値変数に入力

Sub MyInput()
    Dim i As Long
    
    i = InputBox("数値を入力してください", "InputBox使用例")
    MsgBox i
    
End Sub

InputBoxでキャンセルボタンがクリックされると、「型が一致しません。」のエラーとなってしまいます。
「型が一致しません。」のエラー

キャンセルが押された場合の処理を追加した、下記のVBAに変更してください。
キャンセルが押された場合の処理を追加

Option Compare Database
Option Explicit

Sub MyInput()
    Dim s As String
    
s = InputBox("入力してください", "InputBox使用例", "123456789")
    If StrPtr(s) = 0 Then
        Exit Sub
    End If
    MsgBox s
    
End Sub

追加したStrPtr関数は、変数が空(NULL)の時に0が返るので、これでCancelを判定しています。


BackHome BackVBA入門

Copyright(C) FeedSoft