Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
188to192
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
188to192
188to192
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Alles ausser Zahlen löschen

Alles ausser Zahlen löschen
10.12.2002 14:24:08
Folker
Hallo

ich möchte aus einer Spalte sämtliche Zeichen die keine Zahlen sind löschen. In der Spalte stehen Telefonnummern oder Postleitzahlen, die bereinigt werden sollen. Jetzt einfach 100 mal ersetze Buchstabe oder Sonderzeichen mit nix untereinanderzuschreiben finde ich etwas aufwendig. Gibt es da was einfacheres?

Danke

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Alles ausser Zahlen löschen
10.12.2002 14:32:45
Hajo_Zi
Hallo Folker

für alle Werte in Spalte A


Option Explicit

Sub Folker()
Dim LoLetzte As Long
Dim LoI As Long
If [a65536] = "" Then
LoLetzte = [a65536].End(xlUp).Row
Else
LoLetzte = 65536
End If
For LoI = 1 To LoLetzte
If IsNumeric(Cells(LoI, 1)) Then Cells(LoI, 1) = ""
Next LoI
End Sub

Code eingefügt mit: Excel Code Jeanie

Code Jeanie
Frage
Das Umsetzen nach Html klappt perfekt, auch die Ansicht in den Foren ist gegeben. Bei manchen Foren kann man aber anscheinend nicht den dargestellten Code nach VBA rückkopieren. Warum?
Antwort
Dies liegt nicht an der Code Jeanie !!! Manche Foren interpretieren anscheinend <pre> Tags nicht richtig und erzeugen am Zeilenende einen weichen Zeilenumbruch anstatt eines harten Zeilenumbruches. Dies führt dazu, dass im VBA-Editor die Zeilen hintereinander geschrieben werden. Zum Rückkopieren in solchen Fällen: Fügen Sie den kopierten Code aus dem Forum nach Word ein, kopieren Sie ihn dort wieder und fügen Sie ihn dann im VBA - Editor ein


Gruß Hajo

Anzeige
Re: Alles ausser Zahlen löschen
10.12.2002 14:41:17
Hajo_Zi
Hallo Folker

Du wolltest ja alles außer Zahlen löschen. Ändere die Zeile in
If Not IsNumeric(Cells(LoI, 1)) Then Cells(LoI, 1) = ""


Gruß Hajo

Re: Alles ausser Zahlen löschen
10.12.2002 14:52:41
Folker
Da hast du mich glaube ich etwas falsch verstanden. Dein Code löscht einfach alle Zellen in denen Zahlen stehen. Die Zahlen sollen allerdings stehen bleiben und der Rest soll weg. (kann man natürlich umdrehen) Für ganze Zellen bekomme ich das auch hin, dies soll aber innerhalb der Textstrings der Zellen funktionieren. Also habe ich z.B. (089)-42546/234 als Telefonnummer und will danach nur noch 08942546234 haben.
Es gilt auch zu beachten, dass dies auch mit 60000 Zellen funktionieren sollte, ein Durchlauf der Zellen mit for each also sehr lange dauert. Deshalb verwede ich bisher ersetze "(" mit ""... Nur damit kann ich nur sehr aufwedig alles abdeckten.
Anzeige
Re: Alles ausser Zahlen löschen
10.12.2002 16:59:38
Martin Beck
Hallo Folker,

die Frage ist, was heißt "sehr lange"? Ist das eine einmalige Geschichte oder mußt Du ds häufiger wiederholen?

Anyway, hier mal ein Vorschlag für eine benutzerdefinierte Funktion bzw. ein Makro, Laufzeit bei 60000 Zellen ca. 5 Minuten.

Gruß
Martin Beck

Re: Alles ausser Zahlen löschen
10.12.2002 17:37:39
Folker
Danke erstmal. Ich teste mal wie lange es dauert. Das Ganze ist halt der Anfang einer Telefonnumerbereinigung. Danach wird dann noch, wenn nicht vorhanden die Ländervorwahl davorgesetzt..., damit alle Nummern das gleiche Format haben. Dieser Vorgang dauert auch schon eine gewisse Zeit.
Problem ist auch, dass das Makro mit Win2000 (500MHz) bei mir zwar noch recht schnell läuft, es aber z.B. auf Win XP (750MHz) mindestens 3 mal langsamer ist und ich keine Ahnung habe was ich dagegen machen kann. Darum suche ich nach Möglichkeiten diesen Vorgang zu beschleunigen.
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige