
Excel VBAを勉強しており、とりあえずサンプルなどをもとに、自分で簡単な顧客管理フォームのようなものを作っております。
その中で、電話番号を入力するテキストボックスがあり、
「そのテキストボックスに入力があり、”登録”というコマンドボタンを押した際に、正規表現チェックをかけたいと思っております。」
Private Sub 登録_Click()
Dim myRegEx As New RegExp
Dim regCheck As Boolean
'電話番号正規表現チェック'
If 電話番号テキストボックス.Value <> "" = True then (すみません無茶苦茶です。)
myRegEx.Pattern = "\d{2,4}-\d{2,4}-\d{4}"
regCheck = myRegEx.Test(電話番号テキストボックス.Text)
If regCheck = False Then
MsgBox "電話番号が不正です。"
Exit Sub
End If
End sub
まだ勉強して1ヶ月くらいなので、基礎もままならないのです、VBA自体、理解していないのですが、もし教えていていただけるなら幸いです。
宜しくお願い致します。
No.1ベストアンサー
- 回答日時:
「End If」が、1つ足りません。
----------------------------------------------------------
Private Sub 登録_Click()
Dim MyRegEx As New RegExp
Dim RegCheck As Boolean
'電話番号正規表現チェック'
If 電話番号テキストボックス.Value <> "" Then
MyRegEx.Pattern = "\d{2,4}-\d{2,4}-\d{4}"
RegCheck = MyRegEx.Test(電話番号テキストボックス.Text)
If RegCheck = False Then
MsgBox "電話番号が不正です。"
Exit Sub
End If
End If
' 登録作業
MsgBox "登録完了"
End Sub
----------------------------------------------------------
もし下図のようにエラーメッセージが出た場合「Microsoft VBScript Regular Expressions ?.?」(?.? にはバージョン 1.0 とか 5.5 が入ります)が参照設定されていません。(複数ある場合はどれか1つ)
VBEの画面で、「ツール」→「参照設定」で、「Microsoft VBScript Regular Expressions ?.?」にチェックを付け、決定してください。

ありがとうございます。
あんなに悩んでいたのに、ほんとスッキリしました!助かりました。ありがとうございました。地道に勉強していきます!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) Access IF文でテーブルに存在しない場合の処理について 2 2022/10/10 18:09
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
- Visual Basic(VBA) InputBoxでキャンセルボタンを押したらファイル自体を閉じたい 3 2022/07/23 17:52
- Visual Basic(VBA) VBAで質問ですが、皆さんはどの様に導き出しているのでしょうか? 6 2022/05/03 21:53
- Visual Basic(VBA) VBA 重複チェック後に値をワークシートに転記する方法を教えてください。 1 2023/03/19 12:43
- Visual Basic(VBA) 検索のユーザーフォームの表示について 1 2023/03/27 23:31
- Access(アクセス) チェックボックスにチェックが入った後の挙動 1 2022/08/21 12:39
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アクセスできない保護レベルエ...
-
【VB.NET】テキストボックスに...
-
エクセルVBAでテキストボッ...
-
VB2010 TextBoxの数字の表示...
-
VBでの入力値制限について
-
ユーザーフォームへのデータ入...
-
visual basic初心者です。 visu...
-
VBAのユーザーフォームで、テキ...
-
VBAのフォーム カーソル移動
-
整数かどうかチェックする
-
コンボボックスからテキストボ...
-
Excel VBAについて
-
VB2005テキストボックスへのコ...
-
VBAで入力数値について
-
VBA public変数はどのようなこ...
-
C#のループでtextboxに値を入れ...
-
他のフォームから別のフォーム...
-
ExcelVBAで他のファイル(proje...
-
コンボボックスのClickイベント
-
VB.NETでのイベントの途中終了
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBAでテキストボッ...
-
【VB.NET】テキストボックスに...
-
アクセスできない保護レベルエ...
-
ユーザーフォームへのデータ入...
-
VBAで入力数値について
-
visual basic初心者です。 visu...
-
【C#】コンボボックスにおけるS...
-
コンボボックスからテキストボ...
-
Vba テキストボックスの文字列...
-
visual studio 2008 C# で、値...
-
テキストボックスを空白にする方法
-
Excel ユーザーフォームで計算 ...
-
VBAのユーザーフォームで、テキ...
-
VB2010 TextBoxの数字の表示...
-
TextBoxの内容を右寄せ
-
テキストボックスとカーソルの制御
-
VBでローマ字入力とかな入力を...
-
VB2005テキストボックスへのコ...
-
ACCESS VBA 文字抽出について ...
-
テキストボックスにカーソルを...
おすすめ情報