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

Forumthread: Komma durch Punkt im VBA-Code ersetzen

Komma durch Punkt im VBA-Code ersetzen
27.01.2006 18:08:50
hajo_SB
Hallo Zusammen,
ich ärgere mich mit englischen Zeitformaten rum. Um weiterzukommen muß ich in einer String-Variablen das Komma durch einen Punkt ersetzen. Wie lässt sich das elegant lösen? Danke für Eure Hilfe!
Dim sdate As String 'Beispiel 38744,4567899
sdate = Funktion (sdate) 'Beispiel 38744.4567899
Gruß Hajo
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW:replace(DeinString,",",".")
27.01.2006 18:11:33
Coach
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige

Infobox / Tutorial

Komma durch Punkt im VBA-Code ersetzen


Schritt-für-Schritt-Anleitung

Um in Excel VBA ein Komma durch einen Punkt 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, um den VBA-Editor zu öffnen.

  2. Füge ein neues Modul hinzu: Klicke mit der rechten Maustaste auf "VBAProject (DeineDatei.xlsx)" und wähle Einfügen > Modul.

  3. Gib den folgenden Code ein:

    Sub KommaDurchPunktErsetzen()
       Dim sdate As String
       sdate = "38744,4567899" ' Beispiel mit Komma
       sdate = Replace(sdate, ",", ".") ' Komma durch Punkt ersetzen
       MsgBox sdate ' Ausgabe: 38744.4567899
    End Sub
  4. Führe das Makro aus: Drücke F5, um das Makro auszuführen, und überprüfe das Ergebnis in einer Meldung.

Mit dieser Methode kannst du in einer String-Variablen das Komma in einen Punkt umwandeln.


Häufige Fehler und Lösungen

  • Fehler: "Typen sind nicht kompatibel."

    • Lösung: Stelle sicher, dass die Variable, in der du das Komma durch einen Punkt ersetzen möchtest, als String deklariert ist.
  • Fehler: Das Makro funktioniert nicht.

    • Lösung: Überprüfe, ob du das Makro korrekt ausgeführt hast und die VBA-Referenzen in Excel aktiviert sind.

Alternative Methoden

Neben der Replace-Funktion gibt es auch andere Ansätze, um ein Komma in einen Punkt umzuwandeln:

  • Verwende Application.WorksheetFunction.Substitute:

    sdate = Application.WorksheetFunction.Substitute(sdate, ",", ".")
  • Direkte Ersetzung in einer Zelle: Wenn du Daten in einer Zelle hast, kannst du auch direkt in Excel die SUBSTITUTE-Funktion verwenden:

    =SUBSTITUTE(A1, ",", ".")

Praktische Beispiele

Hier sind einige praktische Beispiele, um die Verwendung von VBA zu demonstrieren:

  1. Ein Beispiel mit einer Liste von Werten:

    Sub KommaDurchPunktInListeErsetzen()
       Dim i As Integer
       For i = 1 To 10
           Cells(i, 1).Value = Replace(Cells(i, 1).Value, ",", ".")
       Next i
    End Sub
  2. Komma durch Punkt in einer Textdatei ersetzen:

    Sub KommaInTextdateiErsetzen()
       Dim sdate As String
       Dim filePath As String
       filePath = "C:\Pfad\zu\deiner\datei.txt"
       Open filePath For Input As #1
       Line Input #1, sdate
       sdate = Replace(sdate, ",", ".")
       Close #1
    End Sub

Tipps für Profis

  • Sichere deine Daten: Bevor du ein Makro ausführst, solltest du deine Excel-Datei speichern, um Datenverluste zu vermeiden.
  • Fehlerbehandlung: Füge Fehlerbehandlungsroutinen hinzu, um unerwartete Fehler beim Ausführen deines Codes zu vermeiden.
  • Testen: Teste deinen Code mit unterschiedlichen Datentypen, um sicherzustellen, dass er in allen Fällen funktioniert.

FAQ: Häufige Fragen

1. Wie kann ich mehrere Ersetzungen in einem Schritt durchführen? Du kannst die Replace-Funktion mehrfach verschachteln oder eine Schleife verwenden, um mehrere Ersetzungen durchzuführen.

2. Funktioniert dieser Code in allen Excel-Versionen? Ja, die gezeigten VBA-Techniken sind mit den meisten Excel-Versionen kompatibel, die VBA unterstützen. Achte darauf, dass du die Makros in einer Datei im .xlsm-Format speicherst.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige