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を探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAで入力数値について
-
コンボボックスからテキストボ...
-
エクセルVBAでテキストボッ...
-
【VB.NET】テキストボックスに...
-
テキストボックスにカーソルを...
-
【C#】コンボボックスにおけるS...
-
VBでテキストBOXにカーソル
-
Excel VBAについて
-
コントロールのPostBackの動き...
-
VBでの入力値制限について
-
VBA public変数はどのようなこ...
-
チェックボックスを操作できな...
-
【VB6.0】 あるフォームから他...
-
VB.NETでのイベントの途中終了
-
レコードセットにnullの場合
-
プロシージャを呼び出したプロ...
-
リストビューの列ヘッダーの幅...
-
構造体のコピー
-
VBスクリプトでファイルのコピ...
-
ExcelVBAイベントでTrueにしたf...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
アクセスできない保護レベルエ...
-
エクセルVBAでテキストボッ...
-
VBAで入力数値について
-
【VB.NET】テキストボックスに...
-
ユーザーフォームへのデータ入...
-
コンボボックスからテキストボ...
-
VB2010 TextBoxの数字の表示...
-
Excel ユーザーフォームで計算 ...
-
テキストボックスに大文字を
-
テキストボックスにカーソルを...
-
visual basic初心者です。 visu...
-
テキストボックスを空白にする方法
-
TextBoxの内容を右寄せ
-
VBAのフォーム カーソル移動
-
VBAのユーザーフォームで、テキ...
-
【C#】コンボボックスにおけるS...
-
VBSのプログラム
-
VB2005テキストボックスへのコ...
-
visual studio 2008 C# で、値...
-
256色で任意の色を作成する時、...
おすすめ情報