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

GERADE-Funktion in VBA ?

Forumthread: GERADE-Funktion in VBA ?

GERADE-Funktion in VBA ?
kle
Hallo
ich möchte gern ein Variable Zahl (Double) stets auf die nächst höhere Ganzzahl aufrunden lassen.
D.h. selbst 5,01 wären dann 6 ...
Doch wie lautet dazu der Befehl im VBA für diese Funktion ?
Gruß und Danke !
Kay
Anzeige

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
a = Int(b) + 1 o.w.T.
12.05.2010 16:57:46
IngGi
Hallo Kay,
a = Int(b) + 1
Gruß Ingolf
AW: GERADE-Funktion in VBA ?
12.05.2010 17:01:29
David
Hallo Kay,
alternativ:
Application.WorksheetFunction.Ceiling
Gruß
David
Rückfragen
12.05.2010 17:05:11
Erich
Hallo Kay,
was hat das mit "GERADE" im Betreff auf sich? Im Beitrag erkenne ich nur "AUFRUNDEN".
Du könntest die Tabellenfkt. verwenden: Application.WorksheetFunction.RoundUp(x,s)
Noch eine Frage:
Was soll beim Wert -4,01 rauskommen, wie soll bei negativen Werten gerundet werden?
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
P.S. @Ingolf: Wenn b = 2 ist, wird mit deiner Anweisung a = 3. Soll dat?
Anzeige
AW: Rückfragen - Antwort
12.05.2010 17:52:15
kle
Halo Erich,
...nun, falsches Beispiel gewählt - sorry. Nun, es soll immer eine GERADE Zahl dabei rauskommen, was mit der Aufrundenfunktion nicht zwingend erfüllt wird, da Sie ja einen Wert auf die nächste (auch ungerade) Zahl rundet.
Auf Deine Frage, -4,01 ... kann nicht vorkommen ,da es nur positive Werte geben kann und negatie Eingaben nicht ermöglicht werden.
Hintergrund: es geht hierbei um ein Provisionsberechnungsmodul mit verschiedenen Abhängigkeiten. Unter anderem eben auch eine, welche auf eine "Zielerreichungsstaffel" liegt - diese erlaubt aber nur "gerade " Werte zur weiteren Betrachtung. Etwas komplizierter, aber es geht dabei um eine Incentive-Auswertung eines Filialunternehmens...und der Sponsor gab diese Staffel und das notwendige Runden halt vor. ;o( (Da half auch kein Bitten und flehen...selbst die Vorrechnung, das es nur optisch "witzig" sei, aber inhaltlich keine Relevanz hat - zog nicht.)
Gruß
Kay
Anzeige
Zwei Vorschläge
12.05.2010 18:15:22
Erich
Hallo Kay,
meine Vorschläge:
x=2.1
Msgbox Application.RoundUp(x / 2, 0) * 2
Msgbox Application.Ceiling(x, 2)
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
AW: Zwei Vorschläge
12.05.2010 22:36:11
kle
Hallo Erich,
...vielen Dank - auch an Rudi ;o)....ging mir auch so, als ich die Funktionen durchspielte.
Bin leider erst jetzt wieder zu gekommen, kleine Tochter aus der Kita holen, Abendessen
machen und verspeisen ;o)...Kind Bettfein machen...jetzt liest die Mama ihr noch was vor
und ich kann an den Laptop...
Nun, habe während dessen auch folgendes probiert - mit Erfolg:
Application.WorksheetFunction.Even(x)
Aber nun habe ich mir alle Vorschläge einmal in mein Handbuch mit aufgenommen und
Danke Euch für Euren Einsatz und Lösungsvorschläge.
Habe, da ich die Funktion 2x brauche es einmal mit der Application.Ceiling(x,2) und einmal mit der von mir oben genannten eingesetzt. Es scheint bisher Fehlerfrei zu funktionieren...
Vielen Dank und einen tollen Abend wünsche ich Euch !
Gruß
Kay
Anzeige
Aufrunden auf gerade Zahl - Sammlung
13.05.2010 14:27:58
Erich
Hi zusammen,
falls es jemanden interessiert, hier eine Mappe mit einer Sammlung von Möglichkeiten,
auf die nächstgrößere gerade Zahl aufzurunden:
https://www.herber.de/bbs/user/69565.xls
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
Int(x) - (Int(x) Mod 2 <> 0) owT
12.05.2010 18:05:59
Rudi
glaube ich nicht
12.05.2010 18:26:07
Erich
Hi Rudi,
es sollte doch auf die nächstgrößere gerade Zahl aufgerundet werden, à la OBERGRENZE.
Teste mal

Sub a()
Dim x As Double
For x = 0.5 To 2.5 Step 0.5
MsgBox x & " / " & Application.RoundUp(x / 2, 0) * 2 _
& " / " & Application.Ceiling(x, 2) _
& " / " & Int(x) - (Int(x) Mod 2  0)
Next x
End Sub
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
hast Recht
12.05.2010 18:43:01
Rudi
Hallo,
vielleicht hätte ich mir die GERADE-Funktion vorher anschauen sollen.
Gruß
Rudi
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18