Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
884to888
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
884to888
884to888
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Ländervorwahl ersetzen

Ländervorwahl ersetzen
09.07.2007 11:14:00
Piet
Servus,
hab ne Excelliste und möchte hier aus einer Faxnummern spalte die vordere 0 mit 0049 ersetzen und alle Sonder und Leerzeichen jeglicher Art in dieser Spalte sollen dabei auch entfernt werden.
Das soll dann so aussehen 00492118956etc. anstatt 0211-89/56123 oder 0211\8956123 oder
0211 8956123 etc.
Dieses soll automatisch gemacht werden.
Kann jemand helfen...
Anfänger piet
Hat jemand eine einfache Anleitung wie ich den Recorder nutzen kann ?

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ländervorwahl ersetzen
09.07.2007 11:39:00
Tino
Hallo unbekannter,
versuche es mal mit diesem Code.
Bereich muss von dir noch angepasst werden.
Formatiere diese Zellen als Text-Zellen, sonst wird Excel dir die Zahlen nicht richtig anzeigen!

Sub Vorwahl()
Dim bereich As Range
Dim InHalt As String
For Each bereich In Range("A1:A500")
If bereich = "" Then GoTo Sprung:
If Left(bereich, 4) = "0049" Then GoTo Sprung:
InHalt = bereich
If Left(bereich, 1) = "0" Then
InHalt = "0049" & Right(InHalt, Len(InHalt) - 1)
End If
InHalt = Replace(InHalt, "\", "")
InHalt = Replace(InHalt, " ", "")
InHalt = Replace(InHalt, "/", "")
InHalt = Replace(InHalt, "_", "")
InHalt = Replace(InHalt, "-", "")
bereich = InHalt
Sprung:
Next bereich
End Sub


Gruss
Tino

Anzeige
AW: Ländervorwahl ersetzen
09.07.2007 13:09:47
Piet
Servus Tino, danke für deine Antwort.
Bin blutiger Anfänger und krieg das nicht hin!
Wie binde ich das als Makro ein und wie rufe ich das auf?
Gruss piet

AW: Ländervorwahl ersetzen
09.07.2007 13:21:00
Piet
Hab vielen Dank bin jedoch noch zu unerfahren umd was nicht wie ich das nun aktiviere? Wo setzte ich was wie rein?
Wenn ich die Faxnummer im Feld g2 bis 1870 habe wie schreibe ich diese Formel dann wo rein.. sorry keinen Schimmer
Brauch mal an Anleitung wie so was gemacht wird...
Gruss und danke für Geduld Piet

AW: Ländervorwahl ersetzen
09.07.2007 11:46:00
Wolli
Hallo Piet,
Rufe den VBA-Editor auf (Alt-F11), füge ein Modul ein und kopiere folgenden Code hinein:

Function PrettyPhone(Quelle As String) As String
Do
If IsNumeric(Left(Quelle, 1)) Then
PrettyPhone = PrettyPhone & Left(Quelle, 1)
End If
Quelle = Mid(Quelle, 2)
Loop Until Quelle = ""
End Function

Damit hast Du eine Tabellenfunktion, die alle Nicht-numerischen Zeichen aus einer Zeichenkette herausfiltert.
Wenn in A1 "0 51 32 / 3557 54" steht, schreibst Du z.B. in B1


=PrettePhone(A1)

und erhältst "05132355754".
Nun die Formel erweitern. In B1 steht dann:


=WENN(LINKS(prettyphone(A1))="0";"0049"&TEIL(prettyphone(A1);2;999);"")

oder kürzer


="0049"&TEIL(prettyphone(A1);2;999)

Wie wäre das? Gruß, Wolli

Anzeige
AW: Ländervorwahl ersetzen
09.07.2007 13:21:40
Piet
Hab vielen Dank bin jedoch noch zu unerfahren umd was nicht wie ich das nun aktiviere? Wo setzte ich was wie rein?
Wenn ich die Faxnummer im Feld g2 bis 1870 habe wie schreibe ich diese Formel dann wo rein.. sorry keinen Schimmer
Brauch mal an Anleitung wie so was gemacht wird...
Gruss und danke für Geduld Piet

RegEx bieten sich an!
09.07.2007 11:52:00
Johannes
Hallo Piet,
dafuer schreibst du dir am besten eine benutzerdefinierte Funktion (Customfunction) in ein Modul und laesst die Telefonnummer-Strings mit Regulaeren Suchmustern parsen:

Public Function TelNrFormat(foo As Range) As String
Dim objRegex As Object
Dim strTemp  As String
Set objRegex = CreateObject("VBScript.RegExp")
With objRegex
.Pattern = "\D"
.Global = True
strTemp = .Replace(foo.Value, "")
End With
If Left(strTemp, 1) = "0" And Not _
Left(strTemp, 4) = "0049" Then
strTemp = "0049" & Right(strTemp, Len(strTemp) - 1)
End If
TelNrFormat = strTemp
End Function


Resultat:
Userbild
Gruesse,
Johannes

Anzeige
AW: RegEx bieten sich an!
09.07.2007 13:22:40
Piet
Hab vielen Dank bin jedoch noch zu unerfahren umd was nicht wie ich das nun aktiviere? Wo setzte ich was wie rein?
Wenn ich die Faxnummer im Feld g2 bis 1870 habe wie schreibe ich diese Formel dann wo rein.. sorry keinen Schimmer
Brauch mal an Anleitung wie so was gemacht wird...
Gruss und danke für Geduld Piet

AW: RegEx bieten sich an!
09.07.2007 13:35:00
Piet
JO, herzlichen Dank

per Formel mit WECHSELN
09.07.2007 12:06:21
WF
="0049"&WECHSELN(WECHSELN(WECHSELN(WECHSELN(A1;"/";);"\";);"-";);" ";)*1
Salut WF

Anzeige
AW: per Formel mit WECHSELN
09.07.2007 13:19:22
Piet
Danke dir ...
Wenn ich die Faxnummer im Feld g2 bis 1870 habe wie schreibe ich diese Formel dann wo rein.. sorry keinen Schimmer
Brauch mal an Anleitung wie so was gemacht wird...
Gruss und danke für Geduld Piet

dann schreib in H2:
09.07.2007 14:28:42
WF
="0049"&WECHSELN(WECHSELN(WECHSELN(WECHSELN(G2;"/";);"\";);"-";);" ";)*1
und kopiere H2 bis H1870 runter
WF

AW: dann schreib in H2:
09.07.2007 14:48:55
Piet
Jo, klappt... Danke

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige