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

Forumthread: Runden auf ganze Zahl per VBA?

Runden auf ganze Zahl per VBA?
22.04.2009 22:10:18
Klaus
Guten Abend,
ich möchte gerne eine Zahl in mein Textfeld aufnehmen, welche aber gerundet sein soll. Habe bereits die Zelle auf ganze Zahlen eingestellt, aber leider wird mit folgendem Code die Zahl im Textfeld mit vielen Nachkommastellen dargestellt:

Sheets("Tabelle1").Shapes("Textfeld 1").TextFrame.Characters.Text = "Es handelt sich um " & Worksheets("Zahlen").Cells(10, 10) & " Stück."


Besteht die Möglichkeit, vor dem Worksheets("Zahlen") einen Rundungsbefehl auf ganze Zahlen einzubauen?
Mfg,
Klaus R

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Runden auf ganze Zahl per VBA?
22.04.2009 22:14:47
Jens
Hallo Klaus
Versuch mal so:
... & Application.WorksheetFunction.RoundUp(Worksheets("Zahlen").Cells(10, 10),0) & ...
(ungetestet)
Gruß aus dem Sauerland
Jens
Korrektur...
22.04.2009 22:17:41
Jens
Hi Klaus
Kleine Korrektur:
... & Application.WorksheetFunction.Round(Worksheets("Zahlen").Cells(10, 10),0) & ...
Der alte Code rundet nur auf. Der neue rundet je nach Zahl auf, bzw. ab.
Gruß aus dem Sauerland
Jens
Anzeige
AW: Korrektur...
22.04.2009 22:25:47
Klaus
Hallo Jens,
vielen lieben Dank.
Schöne Grüße,
Klaus

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Runden auf ganze Zahl mit VBA in Excel


Schritt-für-Schritt-Anleitung

Um eine Zahl in Excel VBA auf eine ganze Zahl zu runden, kannst du die Application.WorksheetFunction.Round-Methode verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne den VBA-Editor in Excel mit ALT + F11.

  2. Füge ein neues Modul hinzu: Rechtsklick auf "VBAProject" > "Einfügen" > "Modul".

  3. Kopiere den folgenden Code in das Modul:

    Sub RundenAufGanzeZahl()
        Dim gerundeteZahl As Double
        gerundeteZahl = Application.WorksheetFunction.Round(Worksheets("Zahlen").Cells(10, 10), 0)
        Sheets("Tabelle1").Shapes("Textfeld 1").TextFrame.Characters.Text = "Es handelt sich um " & gerundeteZahl & " Stück."
    End Sub
  4. Schließe den VBA-Editor und führe das Makro aus.

Mit diesem Code wird die Zahl in Zelle (10,10) auf eine ganze Zahl gerundet und im Textfeld dargestellt.


Häufige Fehler und Lösungen

  • Fehler: Zahl wird nicht gerundet
    Lösung: Stelle sicher, dass du die richtige Funktion verwendest. Der Code sollte Application.WorksheetFunction.Round verwenden, um auf die nächste ganze Zahl zu runden.

  • Fehler: Falsches Textfeld
    Lösung: Überprüfe den Namen des Textfeldes in deiner Excel-Arbeitsmappe und stelle sicher, dass es mit dem im Code übereinstimmt.

  • Fehler: Nachkommastellen werden angezeigt
    Lösung: Verwende die Funktion Round oder RoundUp, um sicherzustellen, dass die Zahl als ganze Zahl dargestellt wird.


Alternative Methoden

Zusätzlich zur Round-Funktion kannst du auch die RoundUp- oder RoundDown-Funktionen verwenden, um die Zahl nach Bedarf aufzurunden oder abzurunden. Hier sind zwei Beispiele:

  • Aufrunden auf ganze Zahl:

    gerundeteZahl = Application.WorksheetFunction.RoundUp(Worksheets("Zahlen").Cells(10, 10), 0)
  • Abrunden auf ganze Zahl:

    gerundeteZahl = Application.WorksheetFunction.RoundDown(Worksheets("Zahlen").Cells(10, 10), 0)

Praktische Beispiele

Hier sind einige praktische Beispiele zur Verwendung der verschiedenen Rundungsfunktionen in VBA:

  1. Runden auf ganze Zahl:

    gerundeteZahl = Application.WorksheetFunction.Round(Worksheets("Zahlen").Cells(10, 10), 0)
  2. Aufrunden auf ganze Zahl:

    gerundeteZahl = Application.WorksheetFunction.RoundUp(Worksheets("Zahlen").Cells(10, 10), 0)
  3. Abrunden auf ganze Zahl:

    gerundeteZahl = Application.WorksheetFunction.RoundDown(Worksheets("Zahlen").Cells(10, 10), 0)

Diese Beispiele zeigen, wie du die Excel VBA-Funktionalitäten nutzen kannst, um mit Zahlen zu arbeiten und sie entsprechend zu runden.


Tipps für Profis

  • Verwende Kommentare in deinem Code, um die Funktionsweise zu erklären. Dies macht es einfacher, den Code später zu verstehen und zu warten.

  • Teste deinen Code immer mit verschiedenen Zahlen, um sicherzustellen, dass die Rundungsfunktionen wie gewünscht arbeiten.

  • Nutze die Debug.Print-Anweisung, um die Werte während der Ausführung zu prüfen und Fehler schneller zu finden:

    Debug.Print gerundeteZahl

FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass die Zahl immer auf eine ganze Zahl gerundet wird?
Verwende die Round-Funktion in deinem VBA-Code. Diese Funktion rundet auf die nächste ganze Zahl, abhängig von der Dezimalstelle.

2. Was passiert, wenn ich die RoundUp-Funktion benutze?
Die RoundUp-Funktion rundet immer nach oben, unabhängig von der Dezimalstelle. Das bedeutet, dass selbst bei einer Zahl wie 1,1 das Ergebnis 2 sein wird.

3. Wo finde ich die VBA-Referenzdokumentation?
Die VBA-Referenzdokumentation findest du in der Microsoft-Dokumentation online. Sie enthält ausführliche Informationen zu allen verfügbaren Funktionen und deren Verwendung.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige