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

Forumthread: Auf nächst höhere gerade Zahl runden?

Auf nächst höhere gerade Zahl runden?
10.04.2008 16:19:00
Gilligan
Hi Leute,
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

Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Auf nächst höhere gerade Zahl runden?
10.04.2008 16:28:36
Hajo_Zi
Hallo Gilligan,
=AUFRUNDEN(H30*5;-1)/5

AW: Auf nächst höhere gerade Zahl runden?
10.04.2008 16:37:00
Rudi
Hallo,
sorry: Quatsch
1. kein VBA
2. =Aufrunden(A1;0)
Zahl = WorksheetFunction.RoundUp(Zahl, 0)
oder ohne WorksheetFunction
Zahl = Int(Zahl + 1) + (Zahl * 10 Mod 10 = 0)
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

Anzeige
So funzt es!
10.04.2008 16:54:27
Gilligan
If WorksheetFunction.RoundUp(Zahl, 0) Mod 2 = 0 Then
Zahl = WorksheetFunction.RoundUp(Zahl, 0)
Else
Zahl = WorksheetFunction.RoundUp(Zahl, 0) + 1
End If
Danke sehr!

AW: Auf nächst höhere gerade Zahl runden?
10.04.2008 16:38:54
Gilligan
Sorry Hajo,
also die nächst höhere Zahl, die durch 2 teilbar ist. Per VBA wäre klasse. Da gibts aber nur die Round-Funktion, soweit ich weiss.

Anzeige
AW: Auf nächst höhere gerade Zahl runden?
10.04.2008 16:46:00
Hajo_Zi
Hallo Gilligan
RoundUp
Gruß Hajo

AW: Auf nächst höhere gerade Zahl runden?
10.04.2008 16:54:39
Renee
Hi Gilligan,

MeineZahl = Int(MeineZahl+1) + int(MeineZahl+1) mod 2


GreetZ Renée

Anzeige
AW: Auf nächst höhere gerade Zahl runden?
10.04.2008 19:50:00
Erich
Hallo Gilligan,
so gehts wohl auch schznell:

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

Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Auf die nächst höhere gerade Zahl runden in Excel


Schritt-für-Schritt-Anleitung

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:

  1. Öffne Excel und gehe zu der Zelle, in der du die gerundete Zahl haben möchtest.
  2. Gib die folgende Formel ein:
    =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.

  3. Drücke die Eingabetaste. Die Zelle zeigt nun die nächst höhere gerade Zahl an.

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

Häufige Fehler und Lösungen

  • Problem: Die Formel gibt eine ungerade Zahl zurück.

    • Lösung: Stelle sicher, dass du MOD 2 korrekt anwendest, um die Bedingung für gerade Zahlen zu überprüfen.
  • Problem: VBA funktioniert nicht wie erwartet.

    • Lösung: Überprüfe, ob du die richtigen Referenzen in deinem VBA-Projekt gesetzt hast, insbesondere für die WorksheetFunction.

Alternative Methoden

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.


Praktische Beispiele

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.


Tipps für Profis

  • Nutze die 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.
  • Experimentiere mit verschiedenen Methoden der Zahlengenerierung und -verarbeitung in VBA, um deine eigenen Funktionen zu erstellen, die auf deine spezifischen Bedürfnisse zugeschnitten sind.

FAQ: Häufige Fragen

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.

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