Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Leerzeichen löschen (wieder einmal): CODE()=160

Leerzeichen löschen (wieder einmal): CODE()=160
02.04.2008 09:52:45
Flo
Hallo,
Ich versuche, vorgestellte "Leerzeichen" zu löschen, GLÄTTEN / TRIM funktioniert aber nicht... Code() gibt mir 160 zurück - Ich glaube daher, dass diese Zeichen, die ich löschen möchte, gar keine Leerzeichen sind.
Kennt jemand eine andere Formel/Makro, die ich dazu verwenden könnte? Die Anzahl der Zeichen, die ich löschen möchte, schwankt, also ist MID() auch keine Option...
Danke bereits im Voraus,
F

Anzeige

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
=WECHSELN(A1;ZEICHEN(160);"")
02.04.2008 10:06:22
WF
.

AW: =WECHSELN(A1;ZEICHEN(160);"")
02.04.2008 11:14:04
c0bRa
Hio...
Als erklärung vielleicht noch: Es gibt 2 Arten von Leerzeichen: Softspace (Char 32) und Hardspace (Char 160). Die Glätten-Funktion, sowie viele weitere funktionieren nur auf Softspaces.
Um die Glätten-Funktion auch für Hardspaces zu nutzen, und zwar so, wie es für Softspaces getan wird, empfehle ich die Formel hier:
=GLÄTTEN(WECHSELN(A1;ZEICHEN(160);ZEICHEN(32)))
Rückmeldung nicht vergessen...
c0bRa
Komplexe Probleme haben einfache, leichtverständliche aber falsche Lösungen.

Anzeige
AW: =WECHSELN(A1;ZEICHEN(160);"")
02.04.2008 11:17:01
Flo
Danke vielmals für die Erklärung!
Result: ... same. Substitute / Wechseln scheint nicht zu greifen

AW: =WECHSELN(A1;ZEICHEN(160);"")
02.04.2008 11:15:00
Flo
Hi,
Danke... nur das funktioniert irgendwie nicht... und ich kann echt nicht verstehen warum...
Könnte man ein Makro machen, dass so lange in der Zelle das erste Zeichen abschneidet, bis Zeichen() nicht mehr 160 zurückgibt? Eine Schleife bekomme ich in VBA nicht so recht zusammen
Danke nochmal,
lg F

Anzeige
AW: =WECHSELN(A1;ZEICHEN(160);"")
02.04.2008 11:20:59
Renee
Hi F,
Kannst du mal eine Mappe mit einem Ausschnitt, in dem das nicht funktioniert, hier hochladen?
GreetZ Renée

ZEICHEN(...), nicht CODE(...) :)
02.04.2008 11:38:00
c0bRa
oT

Anzeige
Formel zum kopieren:
02.04.2008 11:39:00
c0bRa
=GLÄTTEN(WECHSELN(A1;ZEICHEN(160);ZEICHEN(32)))

Anzeige
und auf englisch:
02.04.2008 11:41:58
c0bRa
=TRIM(SUBSTITUTE(A1,CHAR(160),CHAR(32)))

Anzeige
und ein Smile...
02.04.2008 11:45:00
c0bRa
nicht dass du denkst, ich schnauz dich nun zusammen :D
Beim nächsten mal aber vorher sagen, dass du ne englische Version nutzt, das machts dann einfacher *g*

AW: ZEICHEN(...), nicht CODE(...) :)
02.04.2008 11:41:46
Renee
Hi F,
deutsch:

=WECHSELN(A1;ZEICHEN(160);"")


english:


=SUBSTITUTE(A1,CHAR(160),"")


GreetZ Renée

Anzeige
Du musst natürlich ZEICHEN(160) ...
02.04.2008 11:42:54
WF
nehmen und NICHT CODE(160) !!!!!
WF

AW: Du musst natürlich ZEICHEN(160) .../THANKS!!!
02.04.2008 11:53:40
Flo
well I sink ei kann trenslate ewrising....
Das nächste mal sag' ich Euch gleich, dass es eine englische Version ist!
Danke Vielmals!!!!!
F
;
Anzeige
Anzeige

Infobox / Tutorial

Leerzeichen in Excel effektiv löschen


Schritt-für-Schritt-Anleitung

Um Leerzeichen, insbesondere Hardspaces (ASCII-Code 160), aus einer Excel-Zelle zu entfernen, kannst du die folgende Formel verwenden:

=GLÄTTEN(WECHSELN(A1;ZEICHEN(160);ZEICHEN(32)))

Ersetze A1 durch die Zelle, die du bereinigen möchtest. Diese Formel ersetzt das Hardspace (CHAR(160)) durch ein normales Leerzeichen (CHAR(32)) und glättet den Text, sodass alle überflüssigen Leerzeichen entfernt werden.

Falls die Excel-Funktion GLÄTTEN nicht funktioniert, gibt es eine alternative Möglichkeit, die du in VBA verwenden kannst. Hier ist der Code für ein einfaches Makro:

Sub LeerzeichenEntfernen()
    Dim Zelle As Range
    For Each Zelle In Selection
        Zelle.Value = Replace(Zelle.Value, Chr(160), "")
    Next Zelle
End Sub

Markiere die Zellen, aus denen du die Leerzeichen entfernen möchtest, und führe das Makro aus.


Häufige Fehler und Lösungen

  1. Excel glätten funktioniert nicht: Überprüfe, ob du tatsächlich mit Hardspaces (ASCII 160) arbeitest. Verwende =CODE(A1), um den ASCII-Code zu überprüfen.

  2. Die Formel WECHSELN funktioniert nicht: Stelle sicher, dass du die korrekte Formel verwendest und dass die Zelle, die du bearbeitest, die richtigen Daten enthält.

  3. Makro funktioniert nicht: Achte darauf, dass du die richtigen Zellen markiert hast und dass die Makros in Excel aktiviert sind.


Alternative Methoden

Neben der Verwendung von Formeln und Makros kannst du auch die Funktion "Suchen und Ersetzen" verwenden:

  1. Wähle die Zellen aus, in denen du die Leerzeichen entfernen möchtest.
  2. Drücke Strg + H, um das Dialogfeld "Suchen und Ersetzen" zu öffnen.
  3. Gib im Feld "Suchen nach" ALT + 160 (drücke die ALT-Taste und gebe 160 auf dem Ziffernblock ein) ein.
  4. Lass das Feld "Ersetzen durch" leer und klicke auf "Alle ersetzen".

Diese Methode ist besonders nützlich, wenn du schnell alle Hardspaces in einem größeren Bereich entfernen möchtest.


Praktische Beispiele

  • Um Hardspaces in einer gesamten Spalte zu entfernen, kannst du die oben beschriebene Formel in die erste Zelle der Spalte eingeben und nach unten ziehen.
  • Wenn du mehr als nur Hardspaces entfernen möchtest, kannst du die Formel kombinieren:
=GLÄTTEN(WECHSELN(WECHSELN(A1;ZEICHEN(160);ZEICHEN(32));" "; ""))

Diese Formel entfernt sowohl Hardspaces als auch zusätzliche Leerzeichen.


Tipps für Profis

  • Nutze die Funktion =CHAR(160) in Kombination mit anderen Funktionen, um flexiblere Lösungen zu entwickeln.
  • Wenn du häufig mit Hardspaces arbeitest, erstelle ein Vorlagenblatt mit den benötigten Formeln, um Zeit zu sparen.
  • Überlege, ob du eine benutzerdefinierte Funktion in VBA erstellen möchtest, um häufige Aufgaben zu automatisieren.

FAQ: Häufige Fragen

1. Was ist der Unterschied zwischen ASCII-Code 32 und 160? ASCII-Code 32 steht für ein normales Leerzeichen, während ASCII-Code 160 ein Hardspace ist, das oft in Texten aus dem Internet vorkommt.

2. Warum funktioniert die GLÄTTEN-Funktion nicht auf Hardspaces? Die GLÄTTEN-Funktion entfernt nur normale Leerzeichen (ASCII 32), daher musst du zuerst Hardspaces mit WECHSELN ersetzen.

3. Wie kann ich Hardspaces in VBA entfernen? Du kannst die Replace-Funktion in VBA verwenden, um CHAR(160) durch ein leeres Zeichen zu ersetzen, wie im Beispiel gezeigt.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige