wie kann ich am einfachsten und schnellsten per VBA auf die nächst höhere ganze gerade Zahl runden?
Danke für die Hilfe.
Gilligan
MeineZahl = Int(MeineZahl+1) + int(MeineZahl+1) mod 2
GreetZ Renée
Sub myOBERGRENZE()
Const dblW As Double = 0.3
MsgBox Application.Ceiling(dblW, 2)
' oder
MsgBox Application.WorksheetFunction.Ceiling(dblW, 2)
End Sub
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Um eine Zahl in Excel auf die nächst höhere gerade Zahl zu runden, kannst du die Funktion WorksheetFunction.RoundUp
verwenden. Hier ist eine einfache Anleitung:
=WENN(WORKSHEETFUNCTION.ROUNDUP(A1, 0) MOD 2 = 0, WORKSHEETFUNCTION.ROUNDUP(A1, 0), WORKSHEETFUNCTION.ROUNDUP(A1, 0) + 1)
Ersetze A1
durch die Zelle, die die Zahl enthält, die du runden möchtest.
Möchtest du dies per VBA umsetzen, kannst du folgenden Code verwenden:
Sub RundeAufGeradeZahl()
Dim MeineZahl As Double
MeineZahl = Range("A1").Value
If WorksheetFunction.RoundUp(MeineZahl, 0) Mod 2 = 0 Then
MeineZahl = WorksheetFunction.RoundUp(MeineZahl, 0)
Else
MeineZahl = WorksheetFunction.RoundUp(MeineZahl, 0) + 1
End If
MsgBox MeineZahl
End Sub
Problem: Die Formel gibt eine ungerade Zahl zurück.
MOD 2
korrekt anwendest, um die Bedingung für gerade Zahlen zu überprüfen.Problem: VBA funktioniert nicht wie erwartet.
WorksheetFunction
.Wenn du keine VBA-Lösung verwenden möchtest, kannst du auch die AUFRUNDEN
-Funktion in Excel nutzen. Hier ist eine einfache Formel:
=AUFRUNDEN(A1 / 2, 0) * 2
Diese Formel teilt die Zahl durch 2, rundet sie auf und multipliziert sie anschließend wieder mit 2, um die nächst höhere gerade Zahl zu erhalten.
Angenommen, du hast in Zelle A1
den Wert 3.7
.
Mit der Excel-Formel:
=WENN(WORKSHEETFUNCTION.ROUNDUP(A1, 0) MOD 2 = 0, WORKSHEETFUNCTION.ROUNDUP(A1, 0), WORKSHEETFUNCTION.ROUNDUP(A1, 0) + 1)
Ergebnis: 4
Mit der VBA-Lösung:
' Wenn A1 = 3.7
MsgBox Ergebnis: 4
Beide Methoden führen zum gleichen Ergebnis, und du kannst die Methode wählen, die dir besser gefällt.
Runde Zahlen hervorheben
-Funktion in Excel, um alle Zellen hervorzuheben, die gerundete Werte enthalten. Dies kann dir helfen, einen schnellen Überblick über deine Daten zu bekommen.1. Wie kann ich auf die nächst höhere gerade Zahl runden, ohne VBA zu verwenden?
Du kannst die AUFRUNDEN
-Funktion in Excel verwenden: =AUFRUNDEN(A1 / 2, 0) * 2
.
2. Funktioniert das auch in älteren Excel-Versionen? Ja, die genannten Funktionen sind in den meisten Excel-Versionen verfügbar, einschließlich Excel 2010 und neuer.
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