|
どうもありがとうございました。
自社システムに取り込むのに、数字と”-”以外が入っていなければ
(少々変な電話番号であっても)エラーは発生しないので、ぜひ使わせていただきます。
とっても助かりました!!
▼Kein さん:
>いちおう、このように変更すればよいでしょう。
>
>Sub Get_TelNumber()
> Dim TelNum As String
> Dim x As Integer, y As Integer
>
> Do
> TelNum = InputBox("電話番号を入力して下さい")
> If TelNum = "" Then Exit Sub
> If Not IsNumeric(Right(TelNum, 4)) Then GoTo NLine
> x = InStr(1, TelNum, "-")
> y = InStrRev(TelNum, "-", -1)
> If x = 0 Or y = 0 Or x = y Then GoTo NLine
> If Not IsNumeric(Left(TelNum, x - 1)) Then
> GoTo NLine
> ElseIf Not IsNumeric(Mid(TelNum, x + 1, y - 1 - x)) Then
> GoTo NLine
> Else
> Exit Do
> End If
>NLine:
> MsgBox "入力した値は電話番号として認識できません", 48
> Loop
> MsgBox TelNum
>End Sub
>
>ただし、123456-78910-3333 というような値も電話番号として認識してしまいます。
>これを防ぐには
>>If x = 0 Or y = 0 Or x = y Then GoTo NLine
>を、Select Case 構文に変更して、"x や y が特定の位置範囲にあったときのみ
>処理を進める。それ以外は NLine に飛ばす" というコードに書き直します。
>そこはあなたが努力して、やってみて下さい。
|
|