Hi Oskar,
du durchläufst ALLE Zellen, gleichgültig ob sie etwas enthalten oder nicht. Außerdem sollen Leerzeichen gelöscht werden, gleichgültig ob eins vorhanden ist oder nicht - das alles dauert natürlich seine Zeit. Man kann das verkürzen, indem man nur die Zellen prüft, die einen fix eignetragenen Inhalt haben und dann außerdem noch einschränken, ob das 1. bzw. letzte Zeichen ein Leerzeichen ist:
Sub LeerzeichenEntfernen()
Dim rngZelle As Range
Application.ScreenUpdating = False
For Each rngZelle In ActiveSheet.UsedRange.SpecialCells(xlCellTypeConstants)
If Left(rngZelle, 1) = " " Or Right(rngZelle, 1) = " " Then _
rngZelle.Value = Trim(rngZelle.Value)
Next rngZelle
Application.ScreenUpdating = False
End Sub
Bis später, Karin