【VBA】郵便番号が正しく入力されているかチェックする

正規表現を使用して、
 ・郵便番号をチェックする方法
を記載します!

ここでは
 ・正しい郵便番号(ハイフンあり)
かどうかをチェックします!

VBAコード

ここでは例として、シート「sample」のセル「C3」の郵便番号をチェックします。
※不正な郵便番号を設定しています。

Option Explicit

Sub sample()

    Dim regexp As Object
    
    Set regexp = CreateObject("VBScript.Regexp")
    
    'チェック内容(=パターン)を指定
    regexp.Pattern = "^\d{3}-\d{4}$"
    
    '郵便番号をチェック
    If regexp.Test(Worksheets("sample").Range("C3")) = False Then
        MsgBox ("不正な郵便番号です。")
    End If
    
End Sub

チェック内容(=パターン)は以下です。

パターン内容
^直後の文字(ここでは数字3桁)が先頭
\d{3}数字3桁
-(ハイフン)
\d{4}数字4桁
$直前の文字(ここでは数字4桁)が末尾

実行結果

郵便番号が正しく入力されているかチェックすることが出来ました。

タイトルとURLをコピーしました