Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1156to1160
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

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

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

Betreff
Benutzer
Anzeige
a = Int(b) + 1 o.w.T.
12.05.2010 14:57:46
IngGi
Hallo Kay,
a = Int(b) + 1
Gruß Ingolf
AW: GERADE-Funktion in VBA ?
12.05.2010 15:01:29
David
Hallo Kay,
alternativ:
Application.WorksheetFunction.Ceiling
Gruß
David
Rückfragen
12.05.2010 15: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?
AW: Rückfragen - Antwort
12.05.2010 15: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 16: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 20: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 12: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
Int(x) - (Int(x) Mod 2 <> 0) owT
12.05.2010 16:05:59
Rudi
glaube ich nicht
12.05.2010 16: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 16:43:01
Rudi
Hallo,
vielleicht hätte ich mir die GERADE-Funktion vorher anschauen sollen.
Gruß
Rudi

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige