Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: MSGbox formatieren

MSGbox formatieren
22.08.2007 13:45:00
Michael
Hallo miteinander,
Meine MSGbox funktioniert mittlerweile einwandfrei.
An verschiedenen Stellen habe ich bereits gelesen dasss die Formatierungsmöglichkeiten einer solchen Box recht begrenzt sind. Allerdings kann ich mir nicht vorstellen dass es nicht möglich sein sollte zumindest eine geordnete tabellarische Darstellung hinzukriegen. Beim C64 Basic ging das früher mal mit PRINTTAB. Aber das kennt VBA wohl so nicht.
Z.Zt. sieht meine MSGBox so aus:
https://www.herber.de/bbs/user/45270.jpg
Der code für diese Darstellung lautet:
strWerte = strWerte & Chr(13) & Cells(inZeile, 1) & " " & Cells(inZeile, 6) & " R$" & Chr$(13)
Gibt es nun eine Möglichkeit den Betrag irgendwo ab Spalte 35 z.B. auszugeben?
Ausserdem würde ich noch gerne einen Titel und einen Infotext vor die auszugebende Liste setzen. Das habe ich auch noch nicht geschafft...
Gruss Michael
PS: Stört Euch nicht an den komischen Namen und der Währung. Ich lebe im Norden Brasiliens am Amazonasgebiet ;-)

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: MSGbox formatieren
22.08.2007 13:49:00
Hajo_Zi
Hallo Michael,
der gesamte Code für die Msgbox wäre wohl besser gewesen. Ich schreibe das nicht ab.

AW: MSGbox formatieren
22.08.2007 14:08:00
Hajo_Zi
Hallo Michael,

MsgBox "1" & Chr(9) & "123" & Chr(13) _
& "12345" & Chr(9) & "123"


Gruß Hajo

Anzeige
AW: MSGbox formatieren
22.08.2007 15:32:19
Michael
Ok....kommt schon......
Dim inZeile As Integer
Dim strWerte As String
Dim strNamen As String
Dim InfoText As String
Title = "Pagamento vencido"
Msg = " Das ist ein TestText"
For inZeile = 29 To 39
If Cells(inZeile, 6) > 0 Then
strWerte = strWerte & Chr(13) & Cells(inZeile, 1) & " " & Cells(inZeile, 6) & " R$" & Chr$(13)
End If
Next inZeile
If strWerte = "" Then End
MsgBox strWerte

Anzeige
AW: MSGbox formatieren
22.08.2007 14:06:46
Renee
Hello Michael,
Beim C64 Basic ging das früher mal mit....
"Als es noch keine Computer gab, war das Programmieren noch relativ einfach. Als es dann ein paar leistungsschwache Computer gab, war das Programmieren ein kleines Problem und nun, wo wir gigantische Computer haben, ist auch das Programmieren zu einem gigantischen Problem geworden. In diesem Sinne hat die elektronische Industrie kein einziges Problem gelöst, sondern nur neue geschaffen. Sie hat das Problem geschaffen, ihre Produkte zu benutzen." - Edsger W. Dijkstra
Du solltest Dich mal mit einer Userform beschäftigen, da hast Du mehr Möglichkeiten und sie wäre Deinem Problem auch angemessener. Hier findest Du einen VBA-Kurs
Aber jede(r) fängt mal klein und mit MsgBox(en) an.
Greetz Renee
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

MSGbox in Excel VBA formatieren


Schritt-für-Schritt-Anleitung

Um eine MSGbox in Excel VBA zu formatieren, befolge diese Schritte:

  1. Öffne den VBA-Editor:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Erstelle ein neues Modul:

    • Klicke im Projektfenster mit der rechten Maustaste auf dein Projekt und wähle Einfügen > Modul.
  3. Füge den folgenden Code ein:

    Sub FormatierteMsgBox()
       Dim inZeile As Integer
       Dim strWerte As String
       Dim Title As String
       Dim Msg As String
    
       Title = "Pagamento vencido"
       Msg = "Das ist ein TestText"
    
       For inZeile = 29 To 39
           If Cells(inZeile, 6) > 0 Then
               strWerte = strWerte & Chr(13) & Cells(inZeile, 1) & "    " & Cells(inZeile, 6) & " R$" & Chr$(13)
           End If
       Next inZeile
    
       If strWerte = "" Then Exit Sub
       MsgBox Title & Chr(13) & Msg & Chr(13) & strWerte, vbInformation, Title
    End Sub
  4. Führe das Makro aus:

    • Klicke auf F5 oder wähle Ausführen, um die MSGbox anzuzeigen.

Dieser Code erstellt eine MSGbox, die sowohl einen Titel als auch einen Infotext enthält. Du kannst die Werte in der MSGbox durch die von dir gewünschten Zellinhalte ersetzen.


Häufige Fehler und Lösungen

  • Fehlende Werte: Wenn die MSGbox leer ist, überprüfe, ob die Zellen in der angegebenen Zeilenreihe (29 bis 39) Werte enthalten.

  • Syntaxfehler: Stelle sicher, dass der gesamte Code korrekt kopiert wurde und keine zusätzlichen oder fehlenden Zeichen vorhanden sind.

  • MSGbox wird nicht angezeigt: Überprüfe, ob du das Makro tatsächlich ausgeführt hast und ob es keine Abbruchbedingungen gibt, die die Ausführung verhindern.


Alternative Methoden

Eine alternative Möglichkeit zur MSGbox ist die Verwendung einer Userform. Diese bietet dir mehr Flexibilität und Möglichkeiten zur Gestaltung.

  1. Erstelle eine Userform:

    • Im VBA-Editor klicke mit der rechten Maustaste auf dein Projekt und wähle Einfügen > UserForm.
  2. Füge Steuerelemente hinzu:

    • Füge Labels, Textboxen und Buttons hinzu, um deine Informationen anzuzeigen.
  3. Programmiere die Userform:

    • Schreibe den VBA-Code, um die Userform mit den gewünschten Daten zu füllen.

Praktische Beispiele

Hier sind einige praktische Beispiele für die Verwendung von MsgBox in VBA:

  1. Einfache Benachrichtigung:

    MsgBox "Die Berechnung ist abgeschlossen.", vbInformation, "Info"
  2. Bestätigungsdialog:

    If MsgBox("Möchten Sie die Änderungen speichern?", vbYesNo + vbQuestion, "Bestätigung") = vbYes Then
       ' Speichere die Datei
    End If
  3. Datenanzeige mit Formatierung:

    MsgBox "Wert: " & Cells(1, 1).Value & Chr(13) & "Preis: " & Cells(1, 2).Value, vbInformation, "Produktinfo"

Tipps für Profis

  • Verwende vbCrLf für Zeilenumbrüche: Anstelle von Chr(13) kannst du vbCrLf verwenden, um deinen Code leserlicher zu gestalten.

  • Benutze vbMsgBoxStyle: Damit kannst du die Schaltflächen und das Layout deiner Msgbox anpassen.

  • Teste verschiedene MsgBox-Formate: Experimentiere mit den verschiedenen Stilen und Typen, um die bestmögliche Benutzererfahrung zu schaffen.


FAQ: Häufige Fragen

1. Kann ich Bilder in einer MSGbox anzeigen?
Nein, MSGbox unterstützt keine Bilder oder komplexe Formatierungen. Für solche Anforderungen solltest du eine Userform verwenden.

2. Wie kann ich die MSGbox anpassen?
Du kannst die Schaltflächen und das Layout der MSGbox mit den vordefinierten Konstanten wie vbYesNo, vbInformation, usw. anpassen.

3. Warum wird die MSGbox in VBA manchmal nicht angezeigt?
Das kann passieren, wenn der Code eine Abbruchbedingung erreicht oder die MSGbox in einer Schleife nicht korrekt aufgerufen wird. Überprüfe deine Logik im VBA-Code.

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