ich habe in einem Makro einen Double-Wert in einer Varibale und möchte in mit nur 2 Nachkommastellen in ein Tabellenblatt schrieben, wie kann ich das machen.
Um einen Double-Wert in Excel VBA auf 2 Nachkommastellen zu runden und diesen in eine Zelle zu schreiben, kannst du folgende Schritte befolgen:
Öffne den VBA-Editor in Excel mit ALT + F11
.
Füge ein neues Modul hinzu (Einfügen > Modul
).
Verwende den folgenden Code:
Sub RundenAufZweiNachkommastellen()
Dim a As Double
a = 1.23456
Cells(1, 1).Value = WorksheetFunction.Round(a, 2)
End Sub
Führe das Makro aus, um den gerundeten Wert in Zelle A1 zu sehen.
Diese Methode nutzt die WorksheetFunction.Round
, um den Wert auf zwei Nachkommastellen zu runden. Du kannst auch andere Werte in der Variable a
verwenden.
Fehler: Der Wert wird nicht korrekt gerundet.
Round
richtig verwendest. Achte darauf, dass die Anzahl der Nachkommastellen korrekt angegeben ist.Fehler: Die Zelle zeigt mehr als 2 Nachkommastellen an.
Eine weitere Methode, um einen Double-Wert auf 2 Nachkommastellen zu runden, ist die Verwendung der Ccur
-Funktion in VBA. Hier ist ein Beispiel:
Sub AlternativeRundung()
Dim wert As Double
wert = 1.23456
Cells(1, 1).Value = CDbl(CCur(wert / 100) * 100)
End Sub
Diese Methode nutzt CCur
, um den Wert zu runden, und ist besonders nützlich, wenn du eine Typumwandlung benötigst.
Hier sind einige praktische Beispiele, wie du mit Double-Werten und Nachkommastellen in Excel VBA umgehen kannst:
Runden von Werten in einer Schleife:
Sub RundenInSchleife()
Dim i As Integer
For i = 1 To 10
Cells(i, 1).Value = WorksheetFunction.Round(i / 3, 2)
Next i
End Sub
Festlegen von Nachkommastellen:
Sub NachkommastellenFestlegen()
Dim wert As Double
wert = 1.56789
Cells(1, 1).Value = Format(wert, "0.00") ' Formatierung auf 2 Nachkommastellen
End Sub
Format
-Funktion, um sicherzustellen, dass deine Werte in der gewünschten Form angezeigt werden. Beispiel: Format(wert, "0.00")
.1. Wie kann ich einfach auf eine Nachkommastelle runden?
Du kannst die Round
-Funktion verwenden und die Anzahl der Nachkommastellen auf 1 setzen: WorksheetFunction.Round(a, 1)
.
2. Was ist der Unterschied zwischen CDbl
und CCur
?
CDbl
konvertiert einen Wert in einen Double-Typ, während CCur
einen Wert in einen Currency-Typ mit 4 Nachkommastellen konvertiert. CCur
kann jedoch auch nützlich sein, wenn du auf eine bestimmte Anzahl von Nachkommastellen runden möchtest.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen