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

Forumthread: Aufrunden mit Makro

Aufrunden mit Makro
07.09.2007 08:42:11
Andre´
Hallo alle zusammen,
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

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Aufrunden mit Makro
07.09.2007 08:49:00
Renee
Hi Andre:

Cells(1,1) = Round(Cells(1,1))*5


Greetz Renee

AW: Aufrunden mit Makro
07.09.2007 08:59:35
Hajo_Zi
Hallo André,

Option Explicit
Sub Anre()
MsgBox Application.RoundUp(1.23, 0)
End Sub



Anzeige
AW: Aufrunden mit Makro
07.09.2007 11:37:21
Andre´
Hallo Renee, Hajo
erstmals Danke für Eure Meldung.
Hajo bei Deiner Lösung erhalte ich eine 2. Ist in dem Code eigentlich der Bezug zu der Zelle A1 enthalten?
Momentan habe ich es wie folgt gelöst

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

Anzeige
AW: Aufrunden mit Makro
07.09.2007 12:13:26
Hajo_Zi
Hallo André,
1,23 aufgerundett ist 2, Du hattest geschrieben Aufrunden.
Es ist kein Bezug zu einer Zelle.
Gruß Hajo

AW: Aufrunden mit Makro
07.09.2007 12:17:00
Renee
Hi Andre,
Es kommt natürlich drauf an, ob Du vor der Multiplikation ein Faktor rundest, oder nach der Multiplikation das Resultat. So wie Du das in der Anfrage gestellt hast, musste frau annehmen, Du willst den Faktor zuerst runden (sonst hätte nämlich 38 resultiert und nicht 40). So wie Du das jetzt darstellt das Resultat, also Round(Cells(1,1)*6) .
Also werde mit Dir einig, was Du willst!
Greetz Renee

Anzeige
AW: Aufrunden mit Makro
07.09.2007 13:21:32
Andre´
Hallo Renee,
der Faktor soll nach der Multiplikation aufgerundet werden. In dem Fall Round(Cells(1,1)*6) wird nur gerundet.
Gibt es die Möglichkeit aufzurunden?
MFG Andre

AW: Aufrunden mit Makro
07.09.2007 14:21:00
Hajo_Zi
Hallo André,
bei Dir wird nicht gerundet, da fehlt die Anzahl der Stellen. Das andere Problem ist schon in meinem ersten Beitrag gelöst.
Gruß Hajo

Anzeige
AW: Aufrunden mit Makro
07.09.2007 14:46:00
Andre´
Hallo Hajo,
bei der Berechnung von 7,5 (steht in A1) * 7 =52,5
erhalte ich mit nachfolgenden Makro 52. Also wird doch gerundet oder?

Sub test()
Dim s As String
s = Round(Cells(1, 1) * 7, 0)
MsgBox s
End Sub


MFG Andre

Anzeige
erledigt :-)
07.09.2007 14:56:20
Andre´
Hallo Hajo, Renee
habe nun folgendes gebastelt und es funzt.

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

AW: Aufrunden mit Makro
07.09.2007 15:10:07
Hajo_Zi
Hallo André,
das habe ich auch nie behauptet ds nicht gerundet wird. Es wird jetzt kaufmänisch gerundet. Dein Code sah im letzten Beitrag anders aus ohne ,0.
Gruß Hajo
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Aufrunden mit VBA in Excel


Schritt-für-Schritt-Anleitung

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:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Füge ein neues Modul hinzu, indem Du im Menü auf Einfügen > Modul klickst.

  3. 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
  4. Schließe den VBA-Editor und gehe zurück zu Excel.

  5. Stelle sicher, dass in Zelle A1 eine Zahl (z.B. 7,5) steht.

  6. 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.


Häufige Fehler und Lösungen

  • 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.


Alternative Methoden

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.


Praktische Beispiele

Hier sind einige praktische Beispiele, wie Du die Funktion vba aufrunden verwenden kannst:

  1. 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
  2. Aufrunden eines festen Wertes:
    Um einen festen Wert aufzurunden:

    Sub Beispiel2()
       MsgBox Application.RoundUp(10.3, 0)
    End Sub

Tipps für Profis

  • 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.


FAQ: Häufige Fragen

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.

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