ich habe Problem mit einer MsgBox. Ich habe einen sehr langen Text, der in einer MsgBox erscheint. Ich hätte diesen Text gern in mehrere Absätze unterteilt. Kann ich in einer MsgBox Zeilenumbrüche einfügen?
Im Voraus vielen Dank!
Jürgen
Sub RG_SZ()
Dim Mldg, Stil, Titel, Antwort
Mldg = "(1) Für Beiträge und Beit..." 'MsgBox Text
Stil = vbOKOnly 'MsgBox Schaltflächen
Titel = "Hinweis" 'MsgBox Titel
Antwort = MsgBox(Mldg, Stil, Titel)
Weil der Mldg-Text jetzt allerdings soo extrem lang geworden ist, passt er in VBA nicht mehr in eine Zeile. Einen Zeilenumbruch in der MsgBox erzeuge ich an den nötigen Stellen mit "& vbLf & " im Text. Meine Frage ist nun, wie ich in VBA einen Zeilenumbruch hinbekommen, damit ich nicht den ganzen Text in eine Zeile schreiben muss, wo er ja mittlerweile auch nicht mehr rein passt.
Bin um jede Hilfe dankbar.
Beste Grüße
Jürgen
Gruß Sepp
Gruß Sepp
Um einen Zeilenumbruch in einer MsgBox zu erzeugen, kannst Du die folgenden Schritte befolgen:
Öffne den Visual Basic for Applications (VBA) Editor in Excel (ALT + F11).
Erstelle ein neues Modul (Rechtsklick auf "VBAProject" > "Einfügen" > "Modul").
Füge den folgenden VBA-Code ein:
Sub MsgBoxMitZeilenumbruch()
MsgBox "Zeile 1" & vbLf & "Zeile 2" & vbLf & "Zeile 3", vbOKOnly, "Titel"
End Sub
Hier wird vbLf
verwendet, um einen Zeilenumbruch in der MsgBox zu erzeugen.
Schließe den VBA-Editor und führe das Makro aus (ALT + F8, wähle das Makro und klicke auf "Ausführen").
Problem: Der Text wird in der MsgBox abgeschnitten. Lösung: Achte darauf, dass die Zeichenanzahl in der MsgBox 1024 Zeichen nicht überschreitet. Bei längeren Texten sollte ein UserForm in Betracht gezogen werden.
Problem: Zeilenumbrüche werden nicht angezeigt.
Lösung: Stelle sicher, dass Du vbLf
oder Chr(10)
verwendest, um den Zeilenumbruch korrekt zu erzeugen.
Für längere Texte ist es oft praktischer, die Informationen in einer externen Textdatei zu speichern und diese in die MsgBox zu laden. Hier ein Beispiel:
Sub MsgBoxAusDatei()
Dim Mldg As String
Mldg = TextReadAll("F:\Office\test.txt") 'Text aus einer Datei einlesen
MsgBox Mldg, vbOKOnly, "Hinweis"
End Sub
Private Function TextReadAll(ByVal strFile As String) As String
Dim fF As Integer
Dim strText As String
If Dir(strFile) <> "" Then
fF = FreeFile
Open strFile For Binary As #fF
strText = Space$(LOF(fF))
Get #fF, , strText
Close #fF
TextReadAll = strText
Else
TextReadAll = "File Not Found!"
End If
End Function
Hier sind einige praktische Beispiele, die Dir helfen, den Zeilenumbruch in MsgBoxen zu verwenden:
Einfacher Zeilenumbruch:
MsgBox "Dies ist die erste Zeile." & vbLf & "Dies ist die zweite Zeile."
Langer Text in mehreren Zeilen:
MsgBox "Hier ist ein langer Text, der in mehrere Zeilen unterteilt ist." & vbLf & _
"Er kann durch den Einsatz von vbLf oder Chr(10) formatiert werden."
Text aus einer Datei laden:
MsgBox TextReadAll("C:\Pfad\zu\deiner\datei.txt"), vbOKOnly, "Langer Text"
vbCrLf
anstelle von vbLf
, wenn Du sicherstellen möchtest, dass ein Zeilenumbruch in verschiedenen Windows-Versionen korrekt angezeigt wird.1. Wie kann ich in einer MsgBox mehrere Zeilen anzeigen?
Verwende das Zeichen & vbLf &
oder & Chr(10) &
zwischen den Textabschnitten.
2. Wie viele Zeichen kann eine MsgBox maximal darstellen? Eine MsgBox kann maximal etwa 1024 Zeichen anzeigen, abhängig von der Systemschriftart.
3. Wie kann ich einen Zeilenumbruch in einer MsgBox unter Windows 10 erstellen?
Die Methode bleibt gleich: Verwende vbLf
oder Chr(10)
für den Zeilenumbruch.
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