Excel Makro oder andere Lösung gesucht
Excel Makro oder andere Lösung gesucht
Hi
Habe hier eine Excel Datei mit vielen Fax- und Telefonnummern in vielen verschiedenen Formaten (mal mit +49, mal ohne, mal mit Klammern, etc.).
Nun hatte ich mir überlegt, z.B. per Makro die "49" in eine "0" umzuwandeln und dann alles was keine Zahl ist aus den Zellen zu löschen.
Hat jemand eine Ahnung ob das möglich ist und wenn ja vielleicht auch eine Idee wie so ein Makro aussieht?
Habe hier eine Excel Datei mit vielen Fax- und Telefonnummern in vielen verschiedenen Formaten (mal mit +49, mal ohne, mal mit Klammern, etc.).
Nun hatte ich mir überlegt, z.B. per Makro die "49" in eine "0" umzuwandeln und dann alles was keine Zahl ist aus den Zellen zu löschen.
Hat jemand eine Ahnung ob das möglich ist und wenn ja vielleicht auch eine Idee wie so ein Makro aussieht?
mfG
Jan
Jan
-
- Captain
- Turtleboard Veteran
- Beiträge: 872
- Registriert: 08.03.2004, 17:09
- Wohnort: Kiel
- Kontaktdaten:
Re: Excel Makro oder andere Lösung gesucht
Aus dem Kopf:
- ALT+F11 drücken für den VBA-Editor
- Neues Standardmodul erstellen
- folgenden Code eingeben:
Code: Alles auswählen
Private Function ConvertPhoneNumber(ByVal strPhoneNumber As String) As String ConvertPhoneNumber = Replace(strPhoneNumber, "+49", "0") ConvertPhoneNumber = Replace(ConvertPhoneNumber, " ", "") ConvertPhoneNumber = Replace(ConvertPhoneNumber, "(", "") ConvertPhoneNumber = Replace(ConvertPhoneNumber, ")", "") ConvertPhoneNumber = Replace(ConvertPhoneNumber, "-", "") End Function
- Diese selbstdefinierte Funktion kannst du nun ganz normal in Excel verwenden: =ConvertPhoneNumber(A1)
Re: Excel Makro oder andere Lösung gesucht
Ich schreibe nicht so oft Makros, aber muss da nicht noch die Variable ConvertPhoneNumber zurück gegeben werden, damit das funktioniert?
-
- Captain
- Turtleboard Veteran
- Beiträge: 872
- Registriert: 08.03.2004, 17:09
- Wohnort: Kiel
- Kontaktdaten:
Re: Excel Makro oder andere Lösung gesucht
Nein, ConvertPhoneNumber wird automatisch zurückgegeben, weils der Funktionsname ist. Bei VBA gibts kein Return für Rückgabewerte.
Re: Excel Makro oder andere Lösung gesucht
OK!
Wieder was gelernt ;-)
Wieder was gelernt ;-)
- Burnett
- Lt. Commander
- Beiträge: 238
- Registriert: 22.09.2004, 13:02
- Wohnort: irgendwo in BaWü
- Kontaktdaten:
Re: Excel Makro oder andere Lösung gesucht
Damit ich auch noch was lernen kann, stell ich mal ne ganz dumme frage:
Wann genau muss ich eine Variable über die SET-Anweisung initialisieren und wann nicht?
Bsp:
...
Dim intVariable As Integer
Dim Bereich As Range
intVariable = 5
Set Bereich = Range("C8:C:60")
...
Danke schonmal
Wann genau muss ich eine Variable über die SET-Anweisung initialisieren und wann nicht?
Bsp:
...
Dim intVariable As Integer
Dim Bereich As Range
intVariable = 5
Set Bereich = Range("C8:C:60")
...
Danke schonmal
-
- Captain
- Turtleboard Veteran
- Beiträge: 872
- Registriert: 08.03.2004, 17:09
- Wohnort: Kiel
- Kontaktdaten:
Re: Excel Makro oder andere Lösung gesucht
Wenns nen Objekt ist, musst du Set verwenden - dabei wird nur eine Referenz angelegt, aber kein Wert kopiert.
Bei primitiven Datentypen (keine Ahnung, wie genau das bei VBA heißt; also String, Integer, etc.) wird direkt eine Wertzuweisen vorgenommen - also ohne das Setzen einer Referenz mit Set.
Bei primitiven Datentypen (keine Ahnung, wie genau das bei VBA heißt; also String, Integer, etc.) wird direkt eine Wertzuweisen vorgenommen - also ohne das Setzen einer Referenz mit Set.
- Burnett
- Lt. Commander
- Beiträge: 238
- Registriert: 22.09.2004, 13:02
- Wohnort: irgendwo in BaWü
- Kontaktdaten:
Re: Excel Makro oder andere Lösung gesucht
Okay, vielen Dank für die Antwort.