Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1768to1772
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

Leerzeichen und Chr(160) löschen

Leerzeichen und Chr(160) löschen
13.07.2020 10:17:45
Matthias
Hallo zusammen
Ich habe eine Liste mit 50'000 Zeilen und etwa 30 Spalten ... und Excel liegt bei dieser Formel ab:
wsC.UsedRange.Select
For Each C In Selection
C.Value = Trim(LTrim(C.Value))
C.Replace Chr(160), "", xlPart
Next
Geht das irgendwie "schneller"? Oder ist das die einzige Möglichkeit so?
Wünsche allen einen tollen Tag!
LG Matthias

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Leerzeichen und Chr(160) löschen
13.07.2020 11:07:23
Daniel
HI
beispielsweise so, mit einem zweiten leeren Tabellenblatt (wsD).
Da fügt man dann eine entsprechende Formel ein, kopiert diese und schreibt sie wieder zurück.
das geht recht schnell, weil man hier alle Zellen gemeinsam in einem Schritt bearbeiten kann.
with wsD.Range(wsC.UsedRange.Address)
.FormulaR1C1 = "=TRIM(SUBSTITUTE('" & wsC.Name & "'!RC,CHAR(160),""""))"
.Copy
.wsC.Usedrange.PasteSpecial xlpastevalues
.ClearContents
End with
Voraussetzung ist, dass man mit Excel-Glätten anstelle des TRIM leben kann (Trim entfernt nur die Leerzeichen am Anfang und Ende, Glätten auch die mehrfach hintereinander vorkommenden Leerzeichen innerhalb)
die andere alterenative wäre:
dim arr
dim z as Long, s as Long
with wsC.UsedRange
arr = .value
for z = 1 to Ubound(arr, 1)
for s = 1 to ubound(arr, 2)
arr(z, s) = Trim(arr(z, s)
arr(z, s) = Replace(arr(z, s), chr(160), "")
next
next
.value = arr
end with

Gruß Daniel
Anzeige
AW: Leerzeichen und Chr(160) löschen
13.07.2020 12:48:15
Matthias
Sehr cool! Vielen herzlichen Dank Daniel! Die zweite Variante hat super geklappt!
und die erste?
13.07.2020 12:51:15
Daniel
hast du die auch mal ausprobiert?
Gruß Daniel
AW: und die erste?
13.07.2020 13:01:35
Matthias
Hey Daniel, nein die erste Variante habe ich nicht ausprobiert. Ich fand die zweite einfacher sympatischer, auch wenn ich da weniger verstanden habe, haha :-)
AW: und die erste?
13.07.2020 13:09:07
Daniel
Dann probier sie mal.
Mir sind Codes, die ich nicht verstehe , eher unsympathisch.
Gruß Daniel
AW: und die erste?
13.07.2020 13:09:09
Daniel
Dann probier sie mal.
Mir sind Codes, die ich nicht verstehe , eher unsympathisch.
Gruß Daniel
AW: und die erste?
13.07.2020 19:05:16
Matthias
Hi Daniel, ja da hast du recht. Aber als "Nicht-Programmierer" kann ich diesen Anspruch leider nicht haben, alles zu verstehen. Selbst wenn ich nach dem ubound suche, ist mir das nicht klar. Die andere Formel verstehe ich. Sie gibt allerdings einen Fehler aus:
Markierte Zeile: wsC.UsedRange.PasteSpecial xlPasteValues
Fehlerausgabe:
Laufzeitfehler 438
Objekt unterstützt diese Eigenschaft oder Methode nicht
Für mich passt aber die erste Variante wirklich! Herzlichen Dank nochmals!
Anzeige
AW: und die erste?
13.07.2020 20:29:53
Daniel
Dann prüf mal, ob du alles richtig geschrieben hast.
Auch als Nichtprogrammierer sollte man wissen, was man tut.
Die erste Methode ist gerade für Nichtprogrammierer mit vorhandenen Excelkenntnissen interessant, weil die damit trotzemen schnelle effektive Makros schreiben können.
Gruß Daniel

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige