
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で質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBA初心者です。電話番号の数字の前に0を表示させたいです。 2 2022/12/14 03:58
- LINE povoの電話番号で、LINEを新規で登録しようとすると、不正な電話番号ですと、出て新規にできません 3 2023/11/10 20:20
- その他(IT・Webサービス) yahooIDが新規に作れない 4 2024/03/17 15:25
- Excel(エクセル) エクセルのVBAで上の表の最下行を求める 4 2022/09/14 15:22
- 固定電話・IP電話・FAX 代表組について 3 2024/04/24 11:42
- Yahoo!メール Yahoo! JAPAN IDを新規取得できない、この携帯電話番号は利用できませんと表示される 3 2024/02/02 13:34
- Yahoo!メール YahooIDをパスワード形式にしただけなのに、利用規約違反とされて電話番号が使えなくなりました 1 2023/03/15 20:44
- Visual Basic(VBA) Excle VBA Findメソッドについて 3 2022/07/15 13:56
- Yahoo!メール YahooIDをパスワード形式にしただけなのに、利用規約違反とされて電話番号が使えなくなりました 3 2023/03/25 04:08
- LINE 電話番号を変更して、LINEのアカウントも番号変更したら、昔の電話番号で新しく電話番号を取得した第三 2 2024/02/08 08:17
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
vba クリップボードクリアにつ...
-
数学、プログラミング、物理、...
-
画像生成AIのプロンプトの作り...
-
Python... 環境設定 初心者です...
-
OS入ってる機器のソフト・アプ...
-
pip --versionがエラーになる
-
パイソンのソースコードをChatG...
-
pythonの実行に関する質問
-
Python 3.12.2 か一番最新のパ...
-
CSVファイルの複数行削除
-
Webサイト内に埋め込んだmp4動...
-
ExcelVBAでFormulaR1C1を列範囲...
-
Pythonのエラーメッセージをコ...
-
ネットワークフォルダの中身を...
-
Pythonで仮想通貨の自動売買が...
-
AIの登場でプログラマーたちが...
-
Google ColaboでGUI作成
-
Pythonについて。
-
HTMLソースが表示のページのも...
-
MOVEコマンドでサブフォルダー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
vba クリップボードクリアにつ...
-
CSVファイルの複数行削除
-
OS入ってる機器のソフト・アプ...
-
Python 3.12.2 か一番最新のパ...
-
pythonの実行に関する質問
-
パイソンのソースコードをChatG...
-
画像生成AIのプロンプトの作り...
-
数学、プログラミング、物理、...
-
pip --versionがエラーになる
-
Google ColaboでGUI作成
-
Python... 環境設定 初心者です...
-
HTMLソースが表示のページのも...
-
ネットワークフォルダの中身を...
-
MOVEコマンドでサブフォルダー...
-
google Colabでmatplotlibの描...
-
VBAでパワーシェルを実行したい...
-
Pythonでの文字列からfloatへの...
-
Webサイト内に埋め込んだmp4動...
-
初心者powershellのPS1ファイル...
-
pythonについて(初心者です)
おすすめ情報