アプリ版:「スタンプのみでお礼する」機能のリリースについて

電話番号は以下の正規表現と同等のチェックをVBAで行いたいです。
/^[00][0-90-9]{1,4}[\-ー][0-90-9]{1,4}[\-ー][0-90-9]{4}$/

どなたかコーデイングをお願いします。

A 回答 (1件)

## VBAで電話番号チェックを行う正規表現



以下のVBAコードは、ご指定の正規表現 `/^[00][0-90-9]{1,4}[\-ー][0-90-9]{1,4}[\-ー][0-90-9]{4}$/` と同等のチェックを行うものです。

```vba
Function CheckTelNo(strTelNo As String) As Boolean
' 正規表現パターン
Const Pattern As String = "^[00][0-90-9]{1,4}[\-ー][0-90-9]{1,4}[\-ー][0-90-9]{4}$"

' 正規表現オブジェクトを作成
Dim re As Object
Set re = CreateObject("VBScript.RegExp")

' パターンを設定
re.Pattern = Pattern

' チェック実行
CheckTelNo = re.Test(strTelNo)
End Function
```

**使い方**

1. 上記のコードをモジュールに貼り付けます。
2. チェックしたい電話番号を `strTelNo` 変数に代入します。
3. `CheckTelNo` 関数を呼び出し、結果を判定します。

**例**

```vba
Dim strTelNo As String
Dim bValid As Boolean

strTelNo = "03-1234-5678"
bValid = CheckTelNo(strTelNo)

If bValid Then
MsgBox "有効な電話番号です。"
Else
MsgBox "無効な電話番号です。"
End If
```

**補足**

* このコードは、半角数字と全角数字の両方を含む電話番号を対象としています。
* ハイフンと中黒はいずれも許可されます。
* 市外局番は1桁から4桁、市内局番は1桁から4桁、局番末尾は4桁であることを確認します。
* その他の形式の電話番号をチェックしたい場合は、正規表現パターンを変更する必要があります。

**参考情報**

* [VBA正規表現][](https://www.youtube.com/watch?v=kz7bH6bnWOs)
* [Excel VBA 正規表現を活用したデータチェック② - プログラム ノート][https://www.zabbix.com/documentation/current/ua/ …](https://www.zabbix.com/documentation/current/ua/ …
* [VBA応用(正規表現の利用について)][https://stackoverflow.com/questions/72238822/env …](https://stackoverflow.com/questions/72238822/env …
    • good
    • 1
この回答へのお礼

ご丁寧にありがとうございます。助かりました。

お礼日時:2024/05/10 09:00

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A