AW: Via VBA prüfen ob Handynummer dann in Variabel sch
21.08.2017 02:35:54
Werner
Hallo,
mir war im Nachtdienst langweilig.
Habe jetzt auch mal was zusammengebastelt. Dabei ist es egal, ob die Nummer mit oder ohne führende 0 eingegeben wurde. Ebenfalls egal, sollte die Nummer schon im internationalen Format vorliegen.
Als Eingabezellen werden die Zellen A2, B2, C2 überprüft.
Was dann weiter passieren soll?
Public Sub International()
Dim strVorwahl As String, strTelefon As String, strInternational As String
Dim raBereich As Range, raZelle As Range, boFund As Boolean
Set raBereich = Range("A2:C2")
For Each raZelle In raBereich
'gängige Trennzeichen und Leerzeichen raus
strTelefon = WorksheetFunction.Substitute(raZelle.Value, " ", "")
strTelefon = WorksheetFunction.Substitute(strTelefon, "-", "")
strTelefon = WorksheetFunction.Substitute(strTelefon, "/", "")
'Prüfung ob Nummer mit 0 beginnt
If Left(strTelefon, 1) = 0 Then
strVorwahl = Left(strTelefon, 4)
'Prüfung auf Deutsche Handyvorwahl (mit führender 0)
Select Case strVorwahl
Case "0151", "0152", "0159", "0160", "0162", "0163", "0170", "0171" _
, "0172", "0173", "0174", "0175", "0176", "0177", "0178", "0179"
strInternational = WorksheetFunction.Substitute(strTelefon _
, Left(strTelefon, 1), "+49")
boFund = True
MsgBox "Mobilfunknummer im internationalen Format:" _
& vbLf & vbLf & " " & strInternational _
& " in Zelle " & raZelle.Address(0, 0)
Case Else
End Select
'Prüfung ob Nummer mit 1 beginnt
ElseIf Left(strTelefon, 1) = 1 Then
strVorwahl = Left(strTelefon, 3)
'Prüfung auf Deutsche Handyvorwahl (ohne führende 0)
Select Case strVorwahl
Case "151", "152", "159", "160", "162", "163", "170", "171" _
, "172", "173", "174", "175", "176", "177", "178", "179"
strInternational = "+49" & strTelefon
boFund = True
MsgBox "Mobilfunknummer im internationalen Format:" _
& vbLf & vbLf & " " & strInternational _
& " in Zelle " & raZelle.Address(0, 0)
Case Else
End Select
'Prüfung ob Nummer bereits im internationalen Format vorliegt
ElseIf Left(strTelefon, 1) = "+" Then
strVorwahl = Left(strTelefon, 6)
'Prüfung auf Deutsche Handyvorwahl (mit führendem +49)
Select Case strVorwahl
Case "+49151", "+49152", "+49159", "+49160", "+49162", "+49163", "+49170" _
, "+49171", "+49172", "+49173", "+49174", "+49175", "+49176", "+49177" _
, "+49178", "+49179"
strInternational = strTelefon
MsgBox "Nummer liegt schon im internationalen Format vor." _
& vbLf & vbLf & " " & strInternational _
& " in Zelle " & raZelle.Address(0, 0)
boFund = True
Case Else
End Select
End If
Next raZelle
If Not boFund Then MsgBox "Keine Mobilfunknummer vorhanden."
End Sub
Gruß Werner