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

Kommazahlen in VBA

Forumthread: Kommazahlen in VBA

Kommazahlen in VBA
manuel
Hallo Forum,
ich habe ein Problem mit Kommazahlen in VB6.0. Der Code:

Sub test()
Dim ACV1 As Double
Range("G5").Select
ActiveCell.Formula = "=A5+B5+C5"
If ActiveCell.Value > "0" Then
ACV1 = ActiveCell.Value
Range("E5").Select
ACF1 = ActiveCell.Formula
ActiveCell.Formula = ACF1 & "+" & ACV1
End If
End Sub

Wenn ACV1 z.B. eine Kommazahl ist, bekomm ich eine Fehlermeldung...
Laufzeitfehler 1004
Anwendungs- oder objektdefinierter Fehler.
Dieser liegt ausschließlich an der Kommazahl...
Kann mir bitte wer helfen?
Vielen Dank im voraus.
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Kommazahlen in VBA
30.12.2010 16:26:00
manuel
Hat sich erledigt,
mit FormularLocal gehts...
trotzdem danke! :)
Anzeige
;
Anzeige

Infobox / Tutorial

Kommazahlen in VBA richtig handhaben


Schritt-für-Schritt-Anleitung

  1. VBA-Editor öffnen: Drücke ALT + F11, um den VBA-Editor in Excel zu öffnen.

  2. Modul erstellen: Klicke mit der rechten Maustaste auf "VBAProject (DeineDatei.xlsm)" und wähle "Einfügen" > "Modul".

  3. Code eingeben: Kopiere den folgenden Code in das neue Modul:

    Sub test()
        Dim ACV1 As Double
        Range("G5").Select
        ActiveCell.Formula = "=A5+B5+C5"
        If ActiveCell.Value > 0 Then
            ACV1 = ActiveCell.Value
            Range("E5").Select
            ACF1 = ActiveCell.Formula
            ActiveCell.Formula = ACF1 & "+" & ACV1
        End If
    End Sub
  4. Formate anpassen: Stelle sicher, dass die Zellen A5, B5 und C5 die richtigen Formate haben, um Kommazahlen zu verarbeiten.

  5. Makro ausführen: Schließe den Editor und führe das Makro über Entwicklertools > Makros aus.


Häufige Fehler und Lösungen

  • Laufzeitfehler 1004: Dieser Fehler tritt häufig auf, wenn die Kommazahl nicht korrekt interpretiert wird. Stelle sicher, dass die Zellen das richtige Zahlenformat haben. Nutze die Funktion Application.WorksheetFunction.Round um sicherzustellen, dass die Werte richtig gerundet werden, bevor du sie in Berechnungen verwendest.

  • Falsches Dezimaltrennzeichen: Wenn Du in einer Region arbeitest, die Kommas als Dezimaltrennzeichen verwendet, stelle sicher, dass Deine VBA-Umgebung das auch unterstützt. Die Verwendung der FormularLocal-Eigenschaft kann helfen, die Einstellungen an lokale Gegebenheiten anzupassen.


Alternative Methoden

  • Verwendung von CDBL: Du kannst die Funktion CDBL verwenden, um sicherzustellen, dass die Werte als Double interpretiert werden. Beispiel:

    ACV1 = CDBL(ActiveCell.Value)
  • Zellenformatierung: Stelle sicher, dass die Zellen in Excel als "Zahl" formatiert sind. Dies kann helfen, Probleme mit der Interpretation von Kommazahlen zu vermeiden.


Praktische Beispiele

  • Beispiel 1: Wenn Du mit Kommazahlen arbeitest, und Deine Zellen Werte wie 5,5 (in Deutschland) oder 5.5 (in den USA) enthalten, solltest Du sicherstellen, dass das VBA-Skript die Werte korrekt interpretiert.

  • Beispiel 2: Hier ist ein erweitertes Beispiel, das die Verwendung von Kommazahlen in VBA zeigt:

    Sub BeispielMitKommazahlen()
        Dim Wert As Double
        Wert = 12.5 ' oder 12,5 je nach Region
        MsgBox "Der Wert ist: " & Wert
    End Sub

Tipps für Profis

  • Debugging nutzen: Verwende die Debug.Print-Anweisung, um Werte während der Ausführung zu überwachen. Dies kann dir helfen, Probleme schneller zu identifizieren, besonders bei Kommazahlen.

  • Fehlerbehandlung einbauen: Nutze die On Error GoTo-Anweisung, um bei Laufzeitfehlern gezielt zu reagieren und die Kontrolle zu behalten.


FAQ: Häufige Fragen

1. Warum läuft mein Makro nicht, wenn ich Kommazahlen verwende?
Es könnte sein, dass die Zahlenformate in Excel und VBA nicht übereinstimmen. Überprüfe die Zellenformate und stelle sicher, dass du das richtige Dezimaltrennzeichen verwendest.

2. Wie kann ich sicherstellen, dass meine Kommazahlen korrekt gerundet werden?
Du kannst die Funktion Application.WorksheetFunction.Round verwenden, um sicherzustellen, dass die Werte vor der Berechnung korrekt gerundet sind.

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