In der Zelle A1 habe ich ein Formelergebnis von 7,5 stehen. Nun soll folgendes durch ein Makro berechnet werden.
Aufrunden von A1 * 5 (ohne Dezimalstelle)
Das Ergebnis von
40
soll mir in einer MSG Box angezeigt werden.
Hat jemand eine Idee
MFG Andre
Cells(1,1) = Round(Cells(1,1))*5
Greetz Renee
Sub test()
Dim s As String
s = Round(Cells(1, 1), 0) * 5
MsgBox s
End Sub
Gibt es in VBA nicht die Möglichkeit aufzurunden?
Bei z.B.
s = Round(Cells(1, 1), 0) * 6
erhalte ich 48 anstatt 45.
MFG Andre
Sub test()
Dim s As String
s = Round(Cells(1, 1) * 7, 0)
MsgBox s
End Sub
MFG Andre
Sub test()
Dim s As String
s = Application.RoundUp(Cells(1, 1) * 7, 0)
MsgBox s
End Sub
Nochmals DANKE für Eure Beiträge!
MFG Andre
Um in Excel mit VBA eine Zahl aufzurunden, kannst Du die Funktion Application.RoundUp
verwenden. Hier ist eine Schritt-für-Schritt-Anleitung, wie Du dies tun kannst:
Öffne Excel und drücke ALT + F11
, um den VBA-Editor zu öffnen.
Füge ein neues Modul hinzu, indem Du im Menü auf Einfügen
> Modul
klickst.
Kopiere den folgenden Code in das Modul:
Sub AufrundenBeispiel()
Dim s As Double
s = Application.RoundUp(Cells(1, 1).Value * 7, 0)
MsgBox s
End Sub
Schließe den VBA-Editor und gehe zurück zu Excel.
Stelle sicher, dass in Zelle A1 eine Zahl (z.B. 7,5) steht.
Führe das Makro aus, indem Du ALT + F8
drückst, das Makro auswählst und auf Ausführen
klickst.
Das Ergebnis wird in einer Message Box angezeigt.
Fehler: "Typen unverträglich"
Lösung: Stelle sicher, dass die Zelle A1 tatsächlich eine Zahl enthält. Wenn A1 leer ist oder Text enthält, kann dieser Fehler auftreten.
Fehler: Das Ergebnis wird nicht korrekt aufgerundet.
Lösung: Stelle sicher, dass Du Application.RoundUp
verwendest. Die Funktion Round
rundet kaufmännisch, während RoundUp
immer aufrundet.
Eine alternative Methode, um eine Zahl in Excel aufzurunden, ist die Verwendung von Formeln direkt in einer Zelle. Du kannst die Formel =AUFRUNDEN(A1*7; 0)
verwenden, um das Ergebnis in einer Zelle anzuzeigen, ohne ein Makro zu verwenden.
Hier sind einige praktische Beispiele, wie Du die Funktion vba aufrunden
verwenden kannst:
Aufrunden einer Multiplikation:
Wenn in Zelle A1 der Wert 7,5 steht und Du den Wert mit 5 multiplizieren und aufrunden möchtest:
Sub Beispiel1()
MsgBox Application.RoundUp(Cells(1, 1).Value * 5, 0)
End Sub
Aufrunden eines festen Wertes:
Um einen festen Wert aufzurunden:
Sub Beispiel2()
MsgBox Application.RoundUp(10.3, 0)
End Sub
Verwende Option Explicit
am Anfang Deines Moduls, um sicherzustellen, dass alle Variablen deklariert werden. Dies hilft, Fehler zu vermeiden.
Experimentiere mit den Argumenten der RoundUp
-Funktion, um verschiedene Rundungsstellen zu testen.
Nutze die Möglichkeit, mehrere Berechnungen in einem Makro zu kombinieren, um effizienter zu arbeiten.
1. Was ist der Unterschied zwischen Round
und RoundUp
?
Round
rundet kaufmännisch, während RoundUp
immer auf die nächste ganze Zahl aufrundet.
2. Kann ich auch mit negativen Zahlen aufrunden?
Ja, RoundUp
funktioniert auch mit negativen Zahlen, wobei die Rundung immer nach oben erfolgt.
3. Wie kann ich das Ergebnis direkt in eine Zelle schreiben?
Anstelle von MsgBox s
kannst Du Cells(2, 1).Value = s
verwenden, um das Ergebnis in Zelle A2 zu speichern.
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