メニュー

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

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

2014/12/03 16:37|タグ:ユーザーフォームグッジョブ表示 47

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

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

オブジェクト名が「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

ページ移動

関連エントリー

コメント

  • コメントはまだありません。

コメント登録

登録フォーム
名前
メールアドレス
URL
コメント
投稿キー(スパム対策に、投稿キー を半角で入力してください。)

ユーティリティ

Twitter

サイト内検索

ページ上部へ