![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
No.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 …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
初めて自分の家と他人の家が違う、と意識した時
子供の頃、友達の家に行くと「なんか自分の家と匂いが違うな?」って思いませんでしたか?
-
AIの登場でプログラマーたちが解雇されていますが
その他(プログラミング・Web制作)
-
mallocについて
C言語・C++・C#
-
応用情報技術者試験の令和元年秋、午後のプログラムの問題がわからないです。
C言語・C++・C#
-
-
4
VBAでパワーシェルを実行したいのですが、なかなかうまく出来ず、有識者の知識をお借りさせてください。
その他(プログラミング・Web制作)
-
5
40代後半でゼロからのプログラム業界への転職
その他(プログラミング・Web制作)
-
6
goo は、放置?
HTML・CSS
-
7
プログラミング
その他(プログラミング・Web制作)
-
8
VBAの計算で@が出てしまう件
Visual Basic(VBA)
-
9
テキストファイルのファイル名を抽出してBAT処理する方法はありますか。
その他(プログラミング・Web制作)
-
10
正規表現 URL抽出「 [\\/\\b]{0} 」 の意味教えてください。
その他(プログラミング・Web制作)
-
11
プログラミングの課題がわからないので教えていただきたいです。特にサークル関数を定義した後に呼び出す方
C言語・C++・C#
-
12
0 == False はいいけど
C言語・C++・C#
-
13
次の日本語の意味を教えて下さい
C言語・C++・C#
-
14
c言語
C言語・C++・C#
-
15
VBA レジストリの値の読み方について教えてください
Visual Basic(VBA)
-
16
10進数からN進数に変換するプログラミング(C言語)
C言語・C++・C#
-
17
Pythonのコードエラーについてです。
その他(プログラミング・Web制作)
-
18
Win11で作業を自動化したいです。どんなソフトがありますか?教えて下さい。単にマウスで特定の場所を
その他(プログラミング・Web制作)
-
19
ものづくりに向いているプログラミング言語ってなんですか?家電にもプログラミングが使われてるとか
その他(プログラミング・Web制作)
-
20
double型が正常に認識されていない恐れ
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「貸してください」という依頼...
-
「~頂けますようお願いします...
-
ご指導賜りますようお願い申し...
-
「指示に従ってください」「迎...
-
「以上、よろしくお願い致しま...
-
富士通ゼネラルのエアコンの温...
-
高麗川駅に電話したいのですが...
-
wppxファイルが開けないのです...
-
ハイボールの原料に食物繊維、...
-
彼女がお泊まりですぐに拗ねます…
-
四季刻歌が入ったcdを購入した...
-
松屋についてです。松屋は店舗...
-
集合の要素の個数
-
氷晶石の化学式を理解もしくは...
-
ご不幸のあった方へのお願いの...
-
57kgの5パーセントってなんkgで...
-
言葉使いについて 「ご着席お願...
-
2,5,6の公倍数を教えてください。
-
ハイフン付きの電話番号の先頭 ...
-
「ご指導のほどよろしくお願い...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「貸してください」という依頼...
-
「~頂けますようお願いします...
-
うちわ の数え方 うちわ は ど...
-
「指示に従ってください」「迎...
-
富士通ゼネラルのエアコンの温...
-
ご指導賜りますようお願い申し...
-
「以上、よろしくお願い致しま...
-
お願いされたら、好きじゃなく...
-
彼女がお泊まりですぐに拗ねます…
-
ご相談お願いいたしますは二重...
-
2,5,6の公倍数を教えてください。
-
言葉使いについて 「ご着席お願...
-
すごい簡単な質問ですが。
-
クロミちゃん好きな女子
-
ご不幸のあった方へのお願いの...
-
ハイフン付きの電話番号の先頭 ...
-
四季刻歌が入ったcdを購入した...
-
高麗川駅に電話したいのですが...
-
wppxファイルが開けないのです...
-
松屋についてです。松屋は店舗...
おすすめ情報