Sortieren mit Leerstellen

Hallo, habe eine Tabelle in der vielen Namen (in der Spalte) Leerstellen vorangestellt sind . Beim Sortieren (nach Alphabet) werden diese Leerstellen beachtet. Wie bekomme ich diese weg ? Bitte vielleicht Formel für: SUCHEN -ERSETZEN DURCH mitteilen. Vielen Dank, Onno

Hallo, habe eine Tabelle in der vielen Namen (in der Spalte)
Leerstellen vorangestellt sind . Beim Sortieren (nach
Alphabet) werden diese Leerstellen beachtet. Wie bekomme ich
diese weg ? Bitte vielleicht Formel für: SUCHEN -ERSETZEN
DURCH mitteilen. Vielen Dank, Onno

Hallo ONNO
Mit BEARBEITEN/ERSETZEN, in „suchen nach“ EIN Leerzeichen eingeben, in „ersetzen durch“ nichts rein (auch kein LEERZEICHEN!)
Dann „alles ersetzen“,
fertig.

Wenn du Freude an Makros hast:
Sub SpaceElim()
If Selection Is Nothing Then Exit Sub
For Each item In Selection
If VarType(item) = 8 Then item.Value = Trim(item.Value)
Next item
End Sub

Viel Erfolg
Erich

Nachtrag: Methode 1 loescht ALLE Leerzeichen, also " Max Meier" wird zu „MaxMeier“, die Makroloesung loescht nur fuehrende Leerstellen, weshalb ich dieses Makro oft verwende.
Erich

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo, habe eine Tabelle in der vielen Namen (in der Spalte)
Leerstellen vorangestellt sind . Beim Sortieren (nach
Alphabet) werden diese Leerstellen beachtet. Wie bekomme ich
diese weg ? Bitte vielleicht Formel für: SUCHEN -ERSETZEN
DURCH mitteilen. Vielen Dank, Onno

Hallo Onno
Versuche es mal mit der Formel GLÄTTEN(Text) - für Schweizer: nicht BÜGELN!!. Und dann allenfalls Kopieren - Menu Bearbeiten, Inhalte einfügen, Werte.
Grüsse
Niclaus

Aus der Excel-Hilfe: GLÄTTEN löscht Leerzeichen in Text, die nicht als jeweils einzelne zwischen Wörtern stehende Trennzeichen dienen

OT Trim und Glätten

Sub SpaceElim()
If Selection Is Nothing Then Exit Sub
For Each item In Selection
If VarType(item) = 8 Then item.Value = Trim(item.Value)
Next item
End Sub

Nachtrag: Methode 1 loescht ALLE Leerzeichen, also " Max
Meier" wird zu „MaxMeier“, die Makroloesung loescht nur
fuehrende Leerstellen, weshalb ich dieses Makro oft verwende.

Hallo Erich,

ja, aber nicht nur führende, auch nachfolgende Leerzeichen.

Und Vba-Trim ist nicht wie das Trim (Glätten) in Excel:

Sub tt()
Dim Satz As String, Mldg As String
Satz = " abc xyz "
Mldg = "--\>" & **Trim** (Satz) & "" & Application.WorksheetFunction. **Trim** (Satz) & "

Gruß
Reinhard

hi,
und jetzt nochmal :wink:

Sub tt()
Dim Satz As String, Mldg As String
Satz = " abc xyz "
Mldg = „–>“ & Trim(Satz) & „“ & Application.WorksheetFunction.Trim(Satz) & „“ & LTrim(Satz) & "

Nachtrag
Hallo an alle
Die vorgeschlagenen Loesungen mit GLAETTEN verlangen, dass die Formel in eine eigene Spalte zig-tausendmal kopiert wird.
Mein unten angegebenes Makro erledigte die Sache in max. 3 Sekunden.
Onno ist damit bestens zufrieden.
Das Beispiel zeigt, dass ein Makro oft sehr viel einfacher und rascher zum Ziel fuehrt, ohne das Tabellenblatt zu veraendern.
Erich

Schnelles Trim men
Hallo Erich,

Mein unten angegebenes Makro erledigte die Sache in max. 3
Sekunden.

ich komme auf 15 Sekunden bei einer selektierten Spalte in XL2000.

Sub SpaceElim()
Dim S As Range, T As Single
'Cells.Select
Columns(1) = " Huhu"
Columns(1).Select
T = Timer
If Selection Is Nothing Then Exit Sub
For Each S In Selection
 If VarType(S) = 8 Then S.Value = Trim(S.Value)
Next S
MsgBox Timer - T & " Sekunden"
End Sub

Wenn es schneller gehen soll, bei mir 0,4 Sekunden, dann so:

Sub SpaceElim2()
Dim T As Single, B, Zei As Long, Spa As Long
'Cells.Select
Columns(1) = " Huhu"
Columns(1).Select
T = Timer
If Selection Is Nothing Then Exit Sub
B = Selection
For Zei = 1 To UBound(B, 1)
 For Spa = 1 To UBound(B, 2)
 If VarType(B(Zei, Spa)) = 8 Then B(Zei, Spa) = Trim(B(Zei, Spa))
 Next Spa
Next Zei
Selection = B
MsgBox Timer - T & " Sekunden"
End Sub

Gruß
Reinhard

Gruß, Onno