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