Leerzeichen in EXCEL entfernen

OP #5560755
Lesenswert?

Klar, geht mit "Suchen - Ersetzen".

Aber wenn ein Leerzeichen an erster Stelle in einer Zelle steht und der 
nachfolgende Text ebenfalls Leerzeichen enthält, dann geht das halt 
nicht.

Also bleibt die Frage, wie ich das erste Leerzeichen entfernen kann.

Dazu:

Wie kann ich in EXCEL überhaupt Macros schreiben?
Welche Funktion wäre dafür in einem Macro geeignet?

Danke für Hinweise.
Persönliche Seite #5560788
Lesenswert?

Wolfgang S. schrieb:
> Wie kann ich in EXCEL überhaupt Macros schreiben?

VBA. Als Einstieg ist der Macrorecorder gar nicht so schlecht, da kann 
man eine Klickaktion aufnehmen und erhält einen VBA-Programmschnipsel, 
der genau diese Aktion umsetzt.

Empfehlung: Das "Menüband" namens "Entwicklertools" einblenden.
(Ab 2007: Datei->Optionen->Menüband anpassen)
Gast #5560856
Lesenswert?

Hallo,

ich habe ein Makro, welches in einer Spalte (bei mir "AD") in den Zeilen 
2 bis 2000 die Leerzeichen am Ende einer Artikelnummer löscht.
Passe es einfach auf Deine Bedürfnisse an (LTrim()).
Evtl. gibt es andere, bessere Lösungen - aber meine Lösung funktioniert.


Sub ArtikelNr_Leerzeichen_entfernen()
' entfernt Leerzeichen am Ende der Artikelnummer

Dim i As Integer
Dim strZelle As String

    For i = 2 To 2000
        strZelle = "AD" & i
        Range(strZelle).Value = RTrim(Range(strZelle).Value)
    Next i

End Sub
Gast #5560857
Lesenswert?

npn schrieb:
> Minimalist schrieb:
>> Excel hat dafür die Funktion "GLÄTTEN()".
>
> zum Leerzeichen in Zellen entfernen???

Sorry, du hast ja recht!
Ich war nur so verwundert, weil "Glätten" eher nach "Mittelwert" klingt 
als nach Stringbearbeitung...

Wieder was gelernt :-)
#5560918
Lesenswert?

Wolfgang S. schrieb:
> Soweit ich die Vorschläge zu EXCEL verstehe, benötigen diese
> Funktionen
> die Ausgangszelle, welche dann jedoch erhalten bleiben muss.
>
> Ich möchte den Inhalt der Ausgangszelle ändern, deshalb mein Gedanke mir
> den Macros.
>
> Wie kann man das machen?

Per Makro. Zwei geschachtelte Schleifen, die zusammen alle Zellen 
durchlaufen.

Innen drinn für jede Zelle eine Schleife, die buchstabenweise durch den 
Zelltext geht und bei Erreichen des ersten Leerzeichens von links den 
Text ohne das Leerzeichen ausgibt (die Zelle überschreibt) und dann die 
Schleife verlässt.
Abbruch mit Nichtstun bei Erreichen des Textendes.
Gast #5561088
Lesenswert?

@Alle die ihren Senf dazugegeben haben und speziell Wolfgang S.

lest bitte meinen Beitrag nochmal richtig.
Das Makro löscht die Leerzeichen am Ende des Strings.
Die Spalte wird von Zeile 2 bis Zeile 2000 durchlaufen.
Eine Hilfsspalte braucht man nicht.
Gast #5561392
Lesenswert?

mit Word!

Vorher war die erste Spalte zu bearbeiten.
1. Davor habe ich eine Spalte eingefügt und einfach durchnummeriert.
2. Dann habe ich meine Excel-Tabelle als csv-Datei gespeichert. Die 
Spaltentrennung erfolgt dabei durch ein Semikolon.
3. Die csv-Datei mit Word geöffnet.
4. Die Kombination "; " wurde dann einfach durch ";" ersetzt.
5. alles wieder mit EXCEL öffnen.

Das war's.

P.S. ca. 1500 Einträge, davon unregelmäßig etwas 900 mit Leerzeichen am 
Anfang bearbeitet.
Gast #5561416
Lesenswert?

Peter M. schrieb:
> Hallo Wolfgang,
>
> Wolfgang S. schrieb:
>> mit Word!
>
> danke für die Rückmeldung. Das ist sicherlich eine kreative und
> effektive Lösung.

um nochmal auf regex zurück zu kommen…
ich hätte das unter linux mit geany gemacht, das windows pendant ist 
möglicherweise notepad++.
spalte aus der tabellenkalkulation kopiert, in geany als text eingefügt, 
dann suchen und ersetzen mit regex (kann notepad++ das?) und das 
ergebnis wieder als spalte in die tabellenkalkulation eingefügt.
word ist finde ich suboptimal, weil es keine reine textverarbeitung ist. 
sollte man mal 50k zeilen zu bearbeiten haben verschluckt sich das 
möglicherweise.
#5561442
Lesenswert?

Hallo c.m.,

c.m. schrieb:
> um nochmal auf regex zurück zu kommen…
> ich hätte das unter linux mit geany gemacht, das windows pendant ist
> möglicherweise notepad++.
> spalte aus der tabellenkalkulation kopiert, in geany als text eingefügt,
> dann suchen und ersetzen mit regex (kann notepad++ das?) und das

Notepad++ kann suchen und ersetzen. Reguläre Ausdrücke kann  die 
Software auch, ich aber nicht. :)

Aber der Trick besteht doch darin, dass Wolfgang mit seiner Zusatzspalte 
das erste Leerzeichen eindeutig gemacht hat, so dass er die dumme 
"Suchen und Ersetzen"-Funktion anwenden konnte.

Mit diesem Kunstgriff kann alles, was "Suchen und Ersetzen" beherrscht, 
eingesetzt werden.

Gruß
Peter

P.S.: Wofür steht eigentlich c.m.?
Gast #5561971
Lesenswert?

W. S. schrieb:
> c.m. schrieb:
>> word ist finde ich suboptimal, weil es keine reine textverarbeitung ist.
>
> Ja, warum habe ich wohl Wird gewählt?
> In Word kann ich auch alle Sonderzeichen suchen und austauschen.
> Eine einfache Textverarbeitung kann das nicht!
1
Ja, warum habe ich wohl Wird gewählt?
2
In Word kann ich auch alle Sonderzeichen suchen und austauschen.
3
Eine einfache Textverarbeitung kann das nicht!
4

5
[^a-zA-Z0-9\s]
6

7
Ja warum habe ich wohl Wird gewhlt
8
In Word kann ich auch alle Sonderzeichen suchen und austauschen
9
Eine einfache Textverarbeitung kann das nicht

du hast word gewählt weil das etwas ist was du kennst.
der tip mit den regex-fähigen texteditoren ist nur ein vorschlag.
Gast #5561979
Lesenswert?

c.m. schrieb:
>> Ja, warum habe ich wohl Wird gewählt?
>> In Word kann ich auch alle Sonderzeichen suchen und austauschen.
>> Eine einfache Textverarbeitung kann das nicht!
> Ja, warum habe ich wohl Wird gewählt?
> In Word kann ich auch alle Sonderzeichen suchen und austauschen.
> Eine einfache Textverarbeitung kann das nicht!
>
> [^a-zA-Z0-9\s]
>
> Ja warum habe ich wohl Wird gewhlt
> In Word kann ich auch alle Sonderzeichen suchen und austauschen
> Eine einfache Textverarbeitung kann das nicht

Zitierst du immer alles dreimal? :-)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren