Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1108to1112
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
Inhaltsverzeichnis

Zeichen in Spalte löschen

Zeichen in Spalte löschen
christian
Hallo
Ich möchte in einer Spalte alle Zeichen außer den Zahlen 0-9 löschen.
Hintergrund: Ich habe mit einem Texterkkennungsprogramm eine Tabelle gescannt. Leider sind dor ein paar Zeichen drin, die da nicht hingehören und die sollen weg.
Da gibt es doch bestimmt eine Lösung.
Vielen Dank

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Zeichen in Spalte löschen
14.10.2009 10:18:36
Björn
Hallo,
möchtest Du dann den Inhalt der ganzen Zelle löschen oder nur die ungewünschten Zeichen in der Zelle?
Gruß
Björn
AW: Zeichen in Spalte löschen
14.10.2009 10:26:44
christian
Nur die ungewünschten Zeichen. Aber nicht nur in der Zelle sondern in allen Zellen in der ausgewählten Spalte.
AW: Zeichen in Spalte löschen
14.10.2009 10:40:49
Heinz
Hallo Björn,
z.B. mit einer UDF:
Function NurZahlen(Text As String) As Long
Dim i%, tmp As Long
For i = 1 To Len(Text)
If IsNumeric(Mid(Text, i, 1)) Then tmp = tmp & Mid(Text, i, 1)
Next i
NurZahlen = tmp
End Function
Gruß
Heinz
AW: Zeichen in Spalte löschen
14.10.2009 10:53:07
Björn
Hallo Heinz,
die Frage wurde nicht von mir gestellt ;-)
mit Replace geht es auch.

dim zeile as integer
dim spalte as integer
spalte = 1 'für Spalte A -Anpassen
for zeile = 1 to 100 'Bereich anpassen
for i = 0 to 9
Cells(zeile,spalte).value = Replace(Cells(zeile,spalte).value, i, "")
next i
next Zeile

finde ich etwas angenehmer als die Lösung von Heinz (nicht böse gemeint)
Gruß
Björn
Anzeige
AW: Zeichen in Spalte löschen
14.10.2009 11:09:33
christian
Vielen Dank
Ich werde mich mal an dem Skript versuchen.
VÖLLIG FALSCH
14.10.2009 11:15:08
Björn
Huch, sorry,
habe falsche gelesen.
Mein Code macht genau das Gegenteil von dem was Du wolltest.
Ich lösche die Zahlen 0-9 und der Rest bleibt stehen.
Das ist für Dich natürlich nicht zielführend :-)
Tut mir leid.
Das müsstest du aber anpassen können.
Gruß
Björn
AW: VÖLLIG FALSCH
14.10.2009 13:51:30
christian
Sorry, aber ich bekomme das leider nicht angepaßt, zumindest nicht jetzt, da ich gerade unter hochdruck stehe und es aber dringend benötige. Könntest Du mir sagen, was ich machen muss?
Danke
AW: VÖLLIG FALSCH
14.10.2009 14:23:58
Björn
Hi,
alles schreib ich dir nicht ;-)

Dim zeile As Integer
Dim spalte As Integer
Dim zeichen As Integer 'Zeichen als ANSI-Code
spalte = 1 'für Spalte A -Anpassen
For zeile = 1 To 100 'Bereich anpassen
For zeichen = 65 To 122  'ANSI - Zeichencode evtl. anpassen
Cells(zeile, spalte).Value = Replace(Cells(zeile, spalte).Value, Chr(zeichen), "")
Next zeichen
Next zeile
Hier werden jetzt keine Satzzeichen oder ähnliches gelöscht.
Falls das auch vorkommt, dann such dir den ANSI Zeichencode (google) und setze die Zahl für die Variable "Zeichen" ein. Dann sind die auch weg.
Hoffe, das reicht Dir.
Gruß
Björn
Anzeige
AW: VÖLLIG FALSCH
15.10.2009 12:26:53
Heinz
Hallo Christian,
ich glaube, dass die Lösung mit meiner Funktion wesentlich einfacher ist (auch nicht böse gemeint).
Z.B:
Sub AllesAußerZahlenLöschen1()
Dim z As Range
'zuerst den Bereich, z.B. Spalte A markieren
For Each z In Selection
If z.Value  "" Then z.Value = NurZahlen(z.Value)
Next z
End Sub

Sub AllesAußerZahlenLöschen2()
Dim z As Range
'speziell für die Spalte A
For Each z In Range("A:A")
If z.Value  "" Then z.Value = NurZahlen(z.Value)
Next z
End Sub
Function NurZahlen(Text As String) As Long
Dim i%, tmp As Long
For i = 1 To Len(Text)
If IsNumeric(Mid(Text, i, 1)) Then tmp = tmp & Mid(Text, i, 1)
Next i
NurZahlen = tmp
End Function
Gruß
Heinz
Anzeige

306 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige