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

Forumthread: mit VBA Leerzeichen durch "-" ersetzen

mit VBA Leerzeichen durch "-" ersetzen
22.09.2006 10:29:38
Bastian
Guten Morgen,
wie ersetze ich am einfachsten ein Leerzeichen in einem String durch einen Unterstrich?
Also statt PC Brenner soll dann PC_Brenner zurückgegeben werden.
der String befindet sich in der Variablen "Leerzeichen"
Danke
Grüße,
Bastian
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: mit VBA Leerzeichen durch "-" ersetzen
22.09.2006 10:31:45
{mskro}
Hallo Bastian,
Cells.Replace What:=" ", Replacement:="_", LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False
Gruss Manfred
Rückmeldung wäre nett!
AW: mit VBA Leerzeichen durch "-" ersetzen
22.09.2006 10:32:58
chris
Hallo Bastina,so gehts.

Sub neu()
txt = WorksheetFunction.Substitute(txt, "'", "")
End Sub

Anzeige
AW: mit VBA Leerzeichen durch "-" ersetzen
22.09.2006 10:42:14
UweD
Hallo
so...

Sub ersetzen()
Dim TXT$
TXT = "PC Brenner"
TXT = Replace(TXT, " ", "_")
MsgBox TXT
End Sub

Gruß UweD
(Rückmeldung wäre schön)
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Leerzeichen in VBA durch Unterstrich ersetzen


Schritt-für-Schritt-Anleitung

Um in Excel VBA Leerzeichen in einem String durch Unterstriche zu ersetzen, kannst Du die Replace-Funktion verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne den VBA-Editor: Drücke ALT + F11 in Excel.

  2. Erstelle ein neues Modul: Klicke mit der rechten Maustaste auf deinen Projekt-Namen, wähle Einfügen und dann Modul.

  3. Füge den folgenden Code ein:

    Sub ErsetzenLeerzeichen()
       Dim TXT As String
       TXT = "PC Brenner"
       TXT = Replace(TXT, " ", "_")
       MsgBox TXT
    End Sub
  4. Führe das Makro aus: Klicke auf Run oder drücke F5, um das Makro auszuführen. Das Ergebnis wird in einem MsgBox-Fenster angezeigt.


Häufige Fehler und Lösungen

  • Fehler beim Ausführen des Makros: Stelle sicher, dass Du den Code in einem Modul und nicht in einem Arbeitsblatt eingefügt hast.
  • Kein Ergebnis in MsgBox: Überprüfe, ob der ursprüngliche String korrekt definiert ist. Wenn der String leer oder nicht gesetzt ist, wird kein Ergebnis angezeigt.
  • VBA-Projekt ist gesperrt: Stelle sicher, dass das Projekt nicht im schreibgeschützten Modus geöffnet ist.

Alternative Methoden

Es gibt verschiedene Methoden, um Leerzeichen in Excel VBA zu ersetzen. Eine Möglichkeit ist die Verwendung der WorksheetFunction.Substitute-Funktion:

Sub ErsetzenMitSubstitute()
    Dim TXT As String
    TXT = "PC Brenner"
    TXT = WorksheetFunction.Substitute(TXT, " ", "_")
    MsgBox TXT
End Sub

Diese Methode funktioniert ähnlich wie Replace, jedoch mit etwas mehr Flexibilität bei der Ersetzung.


Praktische Beispiele

Hier sind einige praktische Beispiele, wie Du Leerzeichen durch Unterstriche ersetzen kannst:

  1. Einfacher String:

    Dim TXT As String
    TXT = "Excel VBA Beispiel"
    TXT = Replace(TXT, " ", "_") ' Ergebnis: "Excel_VBA_Beispiel"
  2. Strings mit mehreren Leerzeichen:

    Dim TXT As String
    TXT = "  Excel   VBA  "
    TXT = Replace(TXT, " ", "_") ' Ergebnis: "__Excel___VBA__"
  3. Ersetzen von Sonderzeichen: Wenn Du auch Sonderzeichen entfernen möchtest, kannst Du Replace mehrfach verwenden:

    Dim TXT As String
    TXT = "PC Brenner! Test"
    TXT = Replace(TXT, " ", "_")
    TXT = Replace(TXT, "!", "")
    MsgBox TXT ' Ergebnis: "PC_Brenner_Test"

Tipps für Profis

  • Nutze die Option Explicit Direktive am Anfang Deiner Module, um sicherzustellen, dass alle Variablen deklariert werden. Das hilft, Fehler zu vermeiden.
  • Experimentiere mit der Replace-Funktion, um nicht nur Leerzeichen, sondern auch andere Zeichen zu ersetzen. Du kannst sie anpassen, um komplexe Strings zu bearbeiten.
  • Verwende die LookAt-Option in der Cells.Replace-Funktion, um festzulegen, ob Du nur Teile des Strings oder den gesamten String ersetzen möchtest.

FAQ: Häufige Fragen

1. Kann ich auch mehrere verschiedene Zeichen gleichzeitig ersetzen?
Ja, Du kannst mehrere Replace-Funktionen hintereinander verwenden, um verschiedene Zeichen zu ersetzen.

2. Funktioniert das auch in Access VBA?
Ja, die Methoden sind in Access VBA ähnlich, Du kannst dort auch die gleichen Funktionen verwenden, um Leerzeichen zu entfernen oder zu ersetzen.

3. Wie kann ich Leerzeichen am Anfang oder Ende eines Strings entfernen?
Verwende die Trim-Funktion, um Leerzeichen am Anfang und Ende eines Strings zu entfernen:

TXT = Trim(TXT)

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige