あなたの習慣について教えてください!!

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自体、理解していないのですが、もし教えていていただけるなら幸いです。

宜しくお願い致します。

A 回答 (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 ?.?」にチェックを付け、決定してください。
「Excel VBAについて」の回答画像1
    • good
    • 0
この回答へのお礼

ありがとうございます。
あんなに悩んでいたのに、ほんとスッキリしました!助かりました。ありがとうございました。地道に勉強していきます!

お礼日時:2016/05/13 09:15

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報