Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Telefonnummer im kanonischem Format.
#1
Hola Smile

ich habe da ein kleines Problem und hoffe auf Hilfe von Euch. 

Ich habe eine Liste mit unzähligen Telefonnummern. 

Leider sind die Nummern alle unterschiedlich

z.B:
03012346578
+49(30)12345678
+31 (45) 12345678
030-12345678
030 12345678
+49-30-12345678

Mein Ziel ist es, alle Telefonnummern im kanonischen Format gleich zu haben und zwar so 

+49 30 123456-78
Länderkennung  Vorwahl Rufnummer

Als Datenbasis hätte ich auch die Länderkennung in der Liste:
z. B. Deutschland DE, Spanien ES, Italien IT...


Gibt es da eine Möglichkeit?

Gracias.

Monsterbabe
Antworten Top
#2
Hallo,

vor einiger Zeit habe ich einen VBA-Code geschrieben, der (fast) die gewünschten Umformatierungen vornimmt. Vielleicht war mein Code zu umständlich, jedenfalls sind solide Grundkenntnisse in VBA nötig.

Käme das infrage?

mfg
Antworten Top
#3
Hallo Fennek,


Zitat:Vielleicht war mein Code zu umständlich, jedenfalls sind solide Grundkenntnisse in VBA nötig.


der ist gut. 05
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Antworten Top
#4
Hallo, 

ja gerne. 

Vilen Dank.
Antworten Top
#5
Einfach so:

PHP-Code:
=IF(LEFT(A1;1)="+";LEFT(A1;3);"") &RIGHT(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1;"(";"");")";"");"-";"");" ";"");10
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#6
Hallo,

ich hatte damals an dem Code ziemlich gebastelt, bis Festnetz- und Mobilfunknummern erfasst wurden. Da damals fast nur deutsche Nummern dabei waren, wurden internationale Nummern vernachlässigt.

Code:
Function fn_tel(ByVal Tel As String) As String
    If IsDate(Tel) Then Exit Function
    If Len(Trim(Tel)) = 11 Then Exit Function
   
    Select Case Left(Trim(Tel), 1)
    Case Is = "+", "0"
        Tel = Replace(Tel, Chr(32), "")
        Tel = Replace(Tel, "/", "")
        Tel = Replace(Tel, "-", "")
        Tel = Replace(Tel, "(0)", "")
        Tel = Replace(Tel, "(", "")
        Tel = Replace(Tel, ")", "")
        If UCase(Tel) <> LCase(Tel) Then Exit Function
        pos = InStr(1, Tel, "-")
        If pos And pos < 6 Then Tel = Replace(Tel, "-", "", , 1)
        If Left(Tel, 1) = 0 And Mid(Tel, 2, 1) <> 0 Then Tel = "+49" & Mid(Tel, 2)
        fn_tel = Tel
    Case Else
        Debug.Print "Tel", Tel
    End Select
End Function

Ist doch gar nicht so schlimm.
[img]
Dateiupload bitte im Forum! So geht es: Klick mich!
]

mfg

PS: Jedenfalls möchte ich jetzt keine Anpassungen für den/die FragestellerIn programmieren
Antworten Top
#7
Ich wundere mich bei den bisherigen Antworten, wie man dort für das erste Beispiel des TE die nationalen Hierarchien einbaut. Das geht doch nur mit einer internationalen Datenbank, die die Trennungen (oder Systematiken) von +Land-Region-Anschluss enthält. Als Region gilt hier auch Handy-Vorwahl.

Um das nicht selbst programmieren zu müssen, könnte man z.B. die entsprechende Routine von Google-Contacts bemühen.
Antworten Top
#8
Bei 030 12345678 bringt ein Inernationale Datenbank leider nichts.
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#9
Man hat aber den ISO Ländercode aus den man die Landesvorwahl aus einer Datenbank ziehen könnte?

Oder?
[
Bild bitte so als Datei hochladen: Klick mich!
]


Monsterbabe


Angehängte Dateien Thumbnail(s)
   
Antworten Top
#10
@snb: Doch. Das ist dann Deutschland-Berlin, denn der Programmersteller oder -verwender ist deutsch. Oder die Google-Spracheinstellung ist Deutschland-deutsch. Oder, oder ... Und wenn die Pferde vor der Apotheke wirklich kotzen (etwa weil das Programm multinational eingesetzt wird), kann das Programm immer noch manuell nach dem Land fragen. Außerdem gilt als internationaler Eintrag + oder 00 (oder Sonderfälle der Verkehrsausscheidungsziffer), aber niemals nur 0.

2030,5 bedeutet ja auch Leeuwarden-Abakus mit Holzkugeln und nicht etwa Amsterdam-Registrierkasse-Klingeling.
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste