![](https://excel-vba.work/wp-content/themes/cocoon-master/images/b-woman.png)
正規表現を使用して
・郵便番号をチェックする方法
を記載します!
![](https://excel-vba.work/wp-content/themes/cocoon-master/images/b-woman.png)
ここでは
・正しい郵便番号(ハイフンあり)かどうか
をチェックします!
VBAコード
ここでは例として、
・シート「sample」のセル「C3」の郵便番号が正しいかどうかをチェック
します。
※例として不正な郵便番号を設定しています。
![チェックする郵便番号(不正)](https://excel-vba.work/wp-content/uploads/2020/12/vba_yuubinbangou_002.png)
Option Explicit
Sub sample()
Dim objReg As Object
Set objReg = CreateObject("VBScript.Regexp")
'チェック内容(=パターン)を指定
objReg.Pattern = "^\d{3}-\d{4}$"
'郵便番号をチェック
If objReg.Test(Worksheets("sample").range("C3")) = False Then
MsgBox ("不正な郵便番号です。")
End If
'後片づけ
Set objReg = Nothing
End Sub
チェック内容(=パターン)は以下です。
パターン | 内容 |
---|---|
^ | 直後の文字(ここでは数字3桁)が先頭 |
\d{3} | 数字3桁 |
– | -(ハイフン) |
\d{4} | 数字4桁 |
$ | 直前の文字(ここでは数字4桁)が末尾 |
実行結果
郵便番号が正しく入力されているかチェックできました。
![実行結果](https://excel-vba.work/wp-content/uploads/2020/12/vba_yuubinbangou_003.png)
参考①
携帯の電話番号が正しく入力されているかチェックする方法は、以下の記事をご確認ください。
参考②
正規表現の詳細は、公式サイトをご確認ください。