• 虹色ミツバチ
  • freoカスタマイズメモ、テンプレート・プラグイン配布/officeTIPS
検索プラグイン
虹色ミツバチ

> Entry >MOS>Microsoft Office Excel>マクロ/VBA> ユーザーフォームの入力値検証

【MOS】【Microsoft Office Excel】【マクロ/VBA】ユーザーフォームの入力値検証

ユーザーフォームの入力値を検証します。

テキストボックスに入れた値を検証する

オブジェクト名が「Input_Name」というテキストボックスの入力値を検証します。

無記入かどうかの検証

無記入の場合はメッセージボックスを表示する

'//入力検証
If Len(Input_Name.Value) = 0 Then      '//未入力の場合
    MsgBox "名前が未入力です。"           '//メッセージを表示
    Input_Name.SetFocus                '//テキストボックスにフォーカスする
Else
	~実行したい処理~
End If
入力された文字数を検証する

30文字以下の場合はメッセージボックスを表示する

'//入力検証
If Len(Input_Name.Value) < 30 Then         '//未入力の場合
     MsgBox "名前は30文字位内で入力してください。" '//メッセージを表示
     Input_Name.SetFocus                      '//テキストボックスにフォーカスする
Else
	~実行したい処理~
End If
既に登録されているかどうか検証

既に登録されている(同シートに同じ文字列が存在する)場合はメッセージボックスを表示する。

'//追加したい名前を検索する
Dim Past_Name As Range
Set Past_Name = Cells.Find(What:=Input_Name.Value, LookIn:=xlValues, LookAt:=xlWhole)

'//追加したい名前が既に存在したらエラー吐く
If Not Past_Name Is Nothing Then
    MsgBox "この名前は既に登録されています。"    '//メッセージを表示
Else
	~実行したい処理~
End If
メールアドレスの形式か検証する

オブジェクト名が「Input_Mail」というテキストボックスに入力されたメールアドレスがメールアドレスの形式になっているかを確認します。

'//メールアドレスの形式をチェックする設定
Dim Mail_Address_Check As RegExp
Set Mail_Address_Check = New RegExp
'//メールアドレスの形式チェック用正規表現
Mail_Address_Check.Pattern = "[\w\.\-]+@[\w\.-]+\.[a-zA-Z]{2,6}$"

If Mail_Address_Check.TEST(Input_Mail.Value) = False Then
    MsgBox "メールアドレスの形式が不正です。"   '//メッセージボックスの表示
    Input_Mail.SetFocus                   '//メールアドレス入力欄にフォーカス
Else
	~実行したい処理~
End If

ページ移動

関連記事

ユーティリティ

Twitter

ページ上部へ