| 
    
     |  | Kein さん 
 ありがとうございます。
 
 この場合、「4桁の局番 & "-" & 4桁の番号」ということは
 ****-****という形のみということになるのでしょうか?
 
 できれば、「***-***-****」の形でしかも、***部分の桁数を限定しないようにしたいのですが・・・
 
 たとえば、「03-1234-5678」や「092-123-4567」のどちらにも対応できるような形にできますか?
 
 すみません。よろしくお願いいたします。
 
 
 ▼Kein さん:
 >正規表現を使うのが最も確実ですが、あえて簡単にやるなら
 >
 >Sub Get_TelNumber()
 >  Dim TelNum As String
 >
 >  Do
 >   TelNum = InputBox("電話番号を入力して下さい")
 >   If TelNum = "" Then Exit Sub
 >   If Len(TelNum) <> 9 Then GoTo NLine
 >   If IsNumeric(Left(TelNum, 4)) And _
 >   Mid(TelNum, 5, 1) = "-" And _
 >   IsNumeric(Right(TelNum, 4)) Then Exit Do
 >NLine:
 >   MsgBox "入力した値は電話番号として認識できません", 48
 >  Loop
 >  MsgBox TelNum
 >End Sub
 >
 >4桁の局番 & "-" & 4桁の番号 という値のみを、電話番号として扱ってます。
 
 
 |  |