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

Forumthread: Zahlenformat in MsgBox

Zahlenformat in MsgBox
BerndR
Hallo zusammen,
wie kann ich bei meiner MsgBox das Ergebnis ausgeben im Format: mit Tausenderpunkt und 2 Nachkommastellen?
Gruß BerndR
Sub EingabeMultiplizieren()
Dim Zahl1 As Double
Dim Zahl2 As Double
Dim Ergebnis As Double
Zahl1 = InputBox("Geben Sie den ersten Wert ein:")
Zahl2 = InputBox("Geben Sie den zweiten Wert ein:")
Ergebnis = Zahl1 * Zahl2
MsgBox "  Das Ergebnis ist:  " & Ergebnis
End Sub

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Format(Ergebnis, "#,##0.00")
25.07.2010 11:05:32
Matthias
Hallo
probier mal
MsgBox " Das Ergebnis ist: " & Format(Ergebnis, "#,##0.00")
Gruß Matthias
AW: Format(Ergebnis, "#,##0.00")
25.07.2010 11:14:03
BerndR
Hallo Matthias, klappt.
Vielen Dank für die schnelle und kompetente Hilfe.
Gruß BerndR
kleiner Hinweis noch ...
25.07.2010 11:20:51
Matthias
Hallo
Du solltest allerdings Zahl1 und Zahl2 auf IsNumeric prüfen, sonst gibts einen VBA-Fehler
z.B bei Eingabe von Text.
Gruß Matthias
Anzeige
AW: kleiner Hinweis noch ...
25.07.2010 12:10:53
BerndR
OK Danke
;
Anzeige
Anzeige

Infobox / Tutorial

Zahlenformat in MsgBox richtig einstellen


Schritt-für-Schritt-Anleitung

Um das Ergebnis einer Berechnung in einer MsgBox im gewünschten Zahlenformat mit Tausenderpunkt und zwei Nachkommastellen auszugeben, kannst Du den folgenden VBA-Code nutzen:

Sub EingabeMultiplizieren()
    Dim Zahl1 As Double
    Dim Zahl2 As Double
    Dim Ergebnis As Double

    Zahl1 = InputBox("Geben Sie den ersten Wert ein:")
    Zahl2 = InputBox("Geben Sie den zweiten Wert ein:")

    ' Überprüfen, ob die Eingaben numerisch sind
    If Not IsNumeric(Zahl1) Or Not IsNumeric(Zahl2) Then
        MsgBox "Bitte geben Sie gültige Zahlen ein."
        Exit Sub
    End If

    Ergebnis = Zahl1 * Zahl2
    MsgBox "Das Ergebnis ist: " & Format(Ergebnis, "#,##0.00")
End Sub

In diesem Code wird das Ergebnis mit Format(Ergebnis, "#,##0.00") formatiert, um den Tausenderpunkt und zwei Nachkommastellen darzustellen. Achte darauf, dass Du die Eingaben überprüfst, um Fehler zu vermeiden.


Häufige Fehler und Lösungen

  1. Eingabe von Text anstelle von Zahlen: Wenn Du einen Text eingibst, der nicht in eine Zahl umgewandelt werden kann, wird ein Fehler auftreten. Stelle sicher, dass Du die Eingaben mit IsNumeric prüfst, wie im obigen Beispiel gezeigt.

  2. Falsches Format in der MsgBox: Wenn das Format nicht korrekt angezeigt wird, überprüfe den Format-Befehl. Achte darauf, dass die Formatzeichenfolge richtig ist.


Alternative Methoden

Anstelle einer MsgBox kannst Du auch das Ergebnis in eine Zelle eines Excel-Arbeitsblatts schreiben. Hier ist ein Beispiel:

Sub ErgebnisInZelle()
    Dim Zahl1 As Double
    Dim Zahl2 As Double
    Dim Ergebnis As Double

    Zahl1 = InputBox("Geben Sie den ersten Wert ein:")
    Zahl2 = InputBox("Geben Sie den zweiten Wert ein:")

    If Not IsNumeric(Zahl1) Or Not IsNumeric(Zahl2) Then
        MsgBox "Bitte geben Sie gültige Zahlen ein."
        Exit Sub
    End If

    Ergebnis = Zahl1 * Zahl2
    Worksheets("Tabelle1").Range("A1").Value = Format(Ergebnis, "#,##0.00")
End Sub

In diesem Beispiel wird das Ergebnis in die Zelle A1 der Tabelle1 geschrieben.


Praktische Beispiele

Hier sind einige Beispiele, wie Du die MsgBox in verschiedenen Szenarien nutzen kannst:

  1. Einfache Multiplikation: Berechne das Produkt von zwei Zahlen und zeige es in einer MsgBox an.
  2. Summenberechnung: Ändere den Code, um die Summe von zwei Zahlen zu berechnen und das Ergebnis entsprechend zu formatieren.
Sub EingabeAddieren()
    Dim Zahl1 As Double
    Dim Zahl2 As Double
    Dim Ergebnis As Double

    Zahl1 = InputBox("Geben Sie die erste Zahl ein:")
    Zahl2 = InputBox("Geben Sie die zweite Zahl ein:")

    If Not IsNumeric(Zahl1) Or Not IsNumeric(Zahl2) Then
        MsgBox "Bitte geben Sie gültige Zahlen ein."
        Exit Sub
    End If

    Ergebnis = Zahl1 + Zahl2
    MsgBox "Die Summe ist: " & Format(Ergebnis, "#,##0.00")
End Sub

Tipps für Profis

  • Verwende die Application.InputBox-Methode, um sicherzustellen, dass nur numerische Eingaben akzeptiert werden. Diese Methode hat eine Option, um den Eingabetyp zu definieren.
Zahl1 = Application.InputBox("Geben Sie den ersten Wert ein:", Type:=1) ' Type:=1 steht für Zahl
  • Nutze benutzerdefinierte Formatierungen in VBA, um spezifische Anforderungen zu erfüllen, wie z.B. Währungsformate oder Prozentangaben.

FAQ: Häufige Fragen

1. Wie kann ich das MsgBox-Format anpassen?
Du kannst das MsgBox-Format durch die Verwendung der Format-Funktion in VBA anpassen, um das gewünschte Zahlenformat einzustellen.

2. Was passiert, wenn ich einen Text in die InputBox eingebe?
Wenn Du einen Text eingibst, der nicht in eine Zahl umgewandelt werden kann, wird ein Fehler angezeigt. Stelle sicher, dass Du die Eingaben vor der Berechnung prüfst.

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