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 SubNachtrag: 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 
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