Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Bestimmtes Zeichen aus String ersetzen

Bestimmtes Zeichen aus String ersetzen
02.12.2004 14:17:38
Karsten
Hallo Excelianer,
in meiner Zelle A1 steht ein String der manchmal auch einen Bindestrich enthält. Wie kann ich diesen String auslesen, den eventuell vorhandenen Bindestrich durch einen Schrägstrich ersetzen und den veränderten String in B1 ausgeben? Das alles soll per VBA laufen.
Bin für jede Hilfe dankbar.
Gruß Karsten
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Bestimmtes Zeichen aus String ersetzen
02.12.2004 14:22:10
Mac4
Hi,
eine Möglichkeit (String steht in A1):

Sub test()
If InStr([A1], "/") Then
[A1] = WorksheetFunction.Substitute([A1], "/", "")
End If
End Sub

Marc
Korrektur
u_

Sub test()
[B1] = WorksheetFunction.Substitute([A1], "-", "/")
End Sub

Anzeige
Uuups
02.12.2004 14:31:18
Mac4
Da ich doch glatt einiges durcheinandergewürfelt!
Danke fürs aufpassen!
Marc
AW: Bestimmtes Zeichen aus String ersetzen
02.12.2004 14:32:47
Siegfried

Private Sub CommandButton1_Click()
Dim a1, b1 As String
Dim x, l, i As Integer
a1 = ActiveSheet.Cells(1, 1)
b1 = ""
x = InStr(1, a1, "-")
For i = 1 To Len(a1)
If i = x Then
b1 = b1 & "/"
Else
b1 = b1 & Mid(a1, i, 1)
End If
Next i
ActiveSheet.Cells(1, 2) = b1
End Sub

Grüsse
Siegfried
Anzeige
AW: Bestimmtes Zeichen aus String ersetzen
Karsten
An alle herzlichen Dank,
funzt klasse.
Karsten
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Bestimmtes Zeichen aus String ersetzen in Excel mit VBA


Schritt-für-Schritt-Anleitung

Um ein bestimmtes Zeichen, wie z.B. einen Bindestrich, in einem String durch einen anderen, wie einen Schrägstrich, zu ersetzen, kannst Du den folgenden VBA-Code verwenden. Dieser Code liest den Inhalt der Zelle A1 aus und gibt den veränderten String in B1 aus.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Klicke auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.
  3. Füge den folgenden Code in das Modul ein:
Sub ZeichenErsetzen()
    [B1] = WorksheetFunction.Substitute([A1], "-", "/")
End Sub
  1. Schließe den VBA-Editor und kehre zu Excel zurück.
  2. Gib in Zelle A1 einen String ein, der möglicherweise einen Bindestrich enthält.
  3. Führe das Makro ZeichenErsetzen aus, um den Bindestrich durch einen Schrägstrich zu ersetzen.

Häufige Fehler und Lösungen

  • Fehler: "Typenkonflikt"

    • Stelle sicher, dass die Zelle A1 tatsächlich einen Textstring enthält. Überprüfe, ob die Zelle leer oder nicht formatiert ist.
  • Fehler: "Substitutionsfunktion funktioniert nicht"

    • Vergewissere Dich, dass der Bindestrich korrekt eingegeben ist. Die Funktion unterscheidet zwischen Groß- und Kleinschreibung.

Alternative Methoden

Falls Du eine andere Methode bevorzugst, kannst Du auch eine Schleife verwenden, um Zeichen zu ersetzen. Hier ist ein Beispiel:

Private Sub CommandButton1_Click()
    Dim a1 As String
    Dim b1 As String
    Dim i As Integer

    a1 = ActiveSheet.Cells(1, 1).Value
    b1 = ""

    For i = 1 To Len(a1)
        If Mid(a1, i, 1) = "-" Then
            b1 = b1 & "/"
        Else
            b1 = b1 & Mid(a1, i, 1)
        End If
    Next i

    ActiveSheet.Cells(1, 2).Value = b1
End Sub

Diese Methode verwendet eine Schleife, um jeden einzelnen Charakter zu prüfen und gegebenenfalls zu ersetzen.


Praktische Beispiele

  1. Beispiel 1: Einfacher Austausch

    • Wenn in A1 der Text "2023-09-15" steht, wird nach Ausführung des Codes in B1 "2023/09/15" angezeigt.
  2. Beispiel 2: Mehrere Bindestriche

    • Bei einem String wie "A-B-C-D" wird das Ergebnis in B1 "A/B/C/D" sein, wenn Du die Schleifen-Methode verwendest.

Tipps für Profis

  • Nutze die Replace-Funktion, wenn Du mehrere Zeichen in einem String ersetzen möchtest. Beispiel:
a1 = Replace(a1, "-", "/")
  • Denke daran, Makros zu speichern, indem Du die Datei im .xlsm-Format speicherst, um sicherzustellen, dass Deine VBA-Codes erhalten bleiben.

FAQ: Häufige Fragen

1. Wie kann ich mehrere Zeichen gleichzeitig ersetzen? Du kannst die Replace-Funktion mehrfach aufrufen oder eine Schleife verwenden, um mehrere Ersetzungen in einem Durchgang durchzuführen.

2. Funktioniert das auch in Excel Online? VBA ist nicht in Excel Online verfügbar. Du musst die Desktop-Version von Excel verwenden, um VBA-Skripte auszuführen.

3. Was passiert, wenn der Bindestrich nicht vorhanden ist? Falls der Bindestrich nicht im String enthalten ist, bleibt der Inhalt der Zelle B1 unverändert.

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