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

VBA: Leerzeichen aus String entfernen

Forumthread: VBA: Leerzeichen aus String entfernen

VBA: Leerzeichen aus String entfernen
20.09.2002 18:17:26
Tobias
Hallo liebe Leute,
eigentlich ein banales Problem, aber weder das Archiv noch die Online-Hilfe konnte mir weiterhelfen.

Ich möchte aus einem String die Leerzeichen entfernen, also in etwas die Form "1yo ddd 243" auf "1yoddd243" ändern.

Mit TRIM habe ich es schon versucht, aber damit werden nur vor- und nachgestellte Leerzeichen entfernt...

Womit kann ich das machen?

Freue mich über jeden Hinweis!
Schöne Grüsse,

Tobias

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: VBA: Leerzeichen aus String entfernen
20.09.2002 18:31:37
Arne Dinges
Hi,

Manuell machst du es am einfachsten über:
EDIT > REPLACE
FIND WHAT: // ein BLANK EINGABEN
REPLACE WITH : // leer lassen
REPLACE

in einem Makro über:
'**************************************************************
Selection.Replace What:=" ", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False
'**************************************************************

BR, Arne

Anzeige
Re: VBA: Leerzeichen aus String entfernen
20.09.2002 18:31:44
andre
Hallo Tobias,
da musst Du bestimmt eine DO WHILE Schleife programmieren und die Leerzeichen eins nach dem anderen rausholen.
Also mit MID das erste Leerzeichen feststellen, dann den String mit RIGHT und LEFT um das Leerzeichen trennen und erneut untersuchen,ob noch eins dabei ist.
gruss Andre
Anzeige
Re: VBA: Leerzeichen aus String entfernen
20.09.2002 18:35:23
andre
Hallo,
stimmmt - genial einfach. Aber manchmal denkt man nicht an die einfachsten Sachen. Die Aktion manuell ausführen und dabei mit dem Rcorder mitschneiden, und man hat's. Geht zwar nicht immer,aber "immer öfters".
gruss andre
Re: VBA: Leerzeichen aus String entfernen
20.09.2002 18:45:13
Tobias
Hi Arne und Andre,

vielen Dank für Eure Tips... hatte ein bisschen auf eine simple bereits integrierte Funktion gehofft, werde es jetzt mit den MID und LEFT/RIGHT befehlen machen...

Arne: Dein Tip ist super, aber leider habe ich den Wert nicht in einer Zelle, sondern nur in einer Variablen...

Vielen Dank auf jeden Fall!

Tobias

Anzeige
Re: VBA: Leerzeichen aus String entfernen
20.09.2002 19:11:04
Arne Dinges
nAbend nochmal...

Quelltext ist Fertig und funzt zumindest bei mir. :)

Viele Grüße Arne

'******************************************************

Sub CleanBlank()
Dim MyString As String
Dim MyBuf As String
Dim MyLen As Integer
Dim i As Integer
i = 1

MyString = "hello world. hello world."

MyLen = Len(MyString) + 1
While i < MyLen
If Right(Left(MyString, i), 1) <> " " Then _
MyBuf = MyBuf & Right(Left(MyString, i), 1)
i = i + 1
Wend

MyString = MyBuf
MsgBox MyString
End Sub

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Leerzeichen aus Strings mit VBA entfernen


Schritt-für-Schritt-Anleitung

Um Leerzeichen aus einem String in Excel VBA zu entfernen, kannst du die folgende Methode verwenden. Hier zeigen wir, wie du eine einfache Subroutine erstellst.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Klicke auf Einfügen > Modul, um ein neues Modul zu erstellen.
  3. Kopiere den folgenden Code in das Modul:
Sub CleanBlank()
    Dim MyString As String
    Dim MyBuf As String
    Dim MyLen As Integer
    Dim i As Integer
    i = 1

    MyString = "hello world. hello world."

    MyLen = Len(MyString) + 1
    While i < MyLen
        If Right(Left(MyString, i), 1) <> " " Then _
           MyBuf = MyBuf & Right(Left(MyString, i), 1)
        i = i + 1
    Wend

    MyString = MyBuf
    MsgBox MyString
End Sub
  1. Schließe den VBA-Editor und führe die Makro-Funktion aus (ALT + F8 und wähle CleanBlank).

Diese Methode entfernt alle Leerzeichen aus dem String und gibt das Ergebnis in einem MessageBox-Fenster aus.


Häufige Fehler und Lösungen

  • Fehler: Der Code entfernt nur führende und nachfolgende Leerzeichen.

    • Lösung: Stelle sicher, dass du die While-Schleife verwendest, um alle Leerzeichen im String zu überprüfen.
  • Fehler: Das Makro läuft nicht, weil der String nicht in einer Zelle steht.

    • Lösung: Wenn du mit einem String in einer Variablen arbeitest, stelle sicher, dass du den String korrekt zuweist, wie im obigen Beispiel.

Alternative Methoden

Falls du eine einfachere Lösung suchst, um Leerzeichen in Excel zu entfernen, kannst du auch die Replace-Funktion nutzen:

Sub RemoveSpaces()
    Dim MyString As String
    MyString = "hello world. hello world."

    MyString = Replace(MyString, " ", "")
    MsgBox MyString
End Sub

Diese Methode ist besonders nützlich, wenn du nur Leerzeichen und keine anderen Zeichen entfernen möchtest.


Praktische Beispiele

  1. Leerzeichen aus einer Zelle entfernen: Wenn du Leerzeichen aus einer Zelle entfernen möchtest, kannst du den folgenden Code verwenden:
Sub RemoveSpacesFromCell()
    Dim MyString As String
    MyString = Range("A1").Value
    MyString = Replace(MyString, " ", "")
    Range("A1").Value = MyString
End Sub
  1. Doppelte Leerzeichen entfernen: Um doppelte Leerzeichen zu entfernen, kannst du die Trim-Funktion in Kombination mit Replace verwenden:
Sub RemoveDoubleSpaces()
    Dim MyString As String
    MyString = Replace(Range("A1").Value, "  ", " ")
    MyString = Trim(MyString)
    Range("A1").Value = MyString
End Sub

Tipps für Profis

  • Nutze die Trim-Funktion, um führende und nachfolgende Leerzeichen schnell zu entfernen, bevor du die Replace-Funktion anwendest.
  • Wenn du häufig mit Leerzeichen in Strings arbeitest, erstelle eine Funktion, die alle oben genannten Schritte in einem einzigen Aufruf zusammenfasst.
  • Achte darauf, den Code regelmäßig zu kommentieren, um die Lesbarkeit und Wartbarkeit zu verbessern.

FAQ: Häufige Fragen

1. Wie kann ich nur führende Leerzeichen entfernen? Verwende die LTrim-Funktion in VBA, um nur die führenden Leerzeichen zu entfernen:

MyString = LTrim(MyString)

2. Kann ich diese Methoden auch in Access verwenden? Ja, die Methoden sind in Access VBA ebenfalls anwendbar. Die Syntax ist identisch.

3. Was passiert, wenn ich die Replace-Funktion mit anderen Zeichen verwende? Die Replace-Funktion kann auch verwendet werden, um andere Zeichen zu entfernen, indem du das What-Argument entsprechend anpasst.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige