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

Forumthread: Zeilenumbruch in MsgBox

Zeilenumbruch in MsgBox
29.01.2008 22:08:00
Jürgen
Hallo zusammen,
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

Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilenumbruch in MsgBox
29.01.2008 22:11:06
Uduuh
Hallo,
msgbox "Text1" &vblf &"text2" 'etc.
Gruß aus’m Pott
Udo

AW: Zeilenumbruch in MsgBox
29.01.2008 22:11:00
chris
Ja kannst du.
Ungetestet
msgbox("Hallo zeile 1" & chr(10) & " Hallo zeile zwei")
gruß Chris

AW: Zeilenumbruch in MsgBox
29.01.2008 22:26:06
Jürgen
Super!!!
Vielen Dank für die schnelle Lösung!!!
Grüße aus der Banken-Metropole
Jürgen

Anzeige
AW: Zeilenumbruch in MsgBox
31.01.2008 22:50:00
Jürgen
Leider ist das Problem für mich doch noch nicht ganz behogen...
Wie bereits beschrieben soll in die MsgBox ein wirklich langer Text.
Ich nutze dafür folgenden Sub:

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

Anzeige
AW: Zeilenumbruch in MsgBox
31.01.2008 23:16:00
Josef
Hallo Jürgen,
einen Zeilenumbruch im VBE erzeugst du so.
Mldg = "blabla blablabla" & _
    "blabla bla blabla" & _
    "blablabla."

Bei langen Texten ist es jedoch sinnvoller und praktischer weil leichter zu pflegen, diese in einer externen Textdatei zu hinterlegen und einzulesen.
Sub RG_SZ()
Dim Mldg As String, Stil As Long, Titel As String, Antwort As Integer

Mldg = TextReadAll("F:\Office\test.txt") 'MsgBox Text
Stil = vbOKOnly 'MsgBox Schaltflächen
Titel = "Hinweis" 'MsgBox Titel
Antwort = MsgBox(Mldg, Stil, Titel)

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

Zu beachten ist bei einer MsgBox noch, das die, je nach Systemschrift, nur ca. 1024 Zeichen dargestellt werden können.

Gruß Sepp



Anzeige
AW: Zeilenumbruch in MsgBox
31.01.2008 23:49:00
Jürgen
Schön wär's gewesen...
Mein Text umfasst leider mehr als 1024 Zeichen, weshalb der Text einfach "abgeschnitten" wird. Gibt's vielleicht eine andere Möglichkeit in Excel, durch den Klick auf eine selbst erzeugte Schalftläche einen selbst erzeugten Hinweistext in einem separaten Fenster anzuzeigen?

Anzeige
AW: Zeilenumbruch in MsgBox
01.02.2008 00:13:41
Jürgen
hallo Sepp,
vielen, vielen Dank! Mir scheint, dass ist die optimale Lösung!!!
Beste Grüße aus der Rhein-Main-Metropole
Jürgen
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Zeilenumbruch in MsgBox mit VBA


Schritt-für-Schritt-Anleitung

Um einen Zeilenumbruch in einer MsgBox zu erzeugen, kannst Du die folgenden Schritte befolgen:

  1. Öffne den Visual Basic for Applications (VBA) Editor in Excel (ALT + F11).

  2. Erstelle ein neues Modul (Rechtsklick auf "VBAProject" > "Einfügen" > "Modul").

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

  4. Schließe den VBA-Editor und führe das Makro aus (ALT + F8, wähle das Makro und klicke auf "Ausführen").


Häufige Fehler und Lösungen

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


Alternative Methoden

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

Praktische Beispiele

Hier sind einige praktische Beispiele, die Dir helfen, den Zeilenumbruch in MsgBoxen zu verwenden:

  1. Einfacher Zeilenumbruch:

    MsgBox "Dies ist die erste Zeile." & vbLf & "Dies ist die zweite Zeile."
  2. 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."
  3. Text aus einer Datei laden:

    MsgBox TextReadAll("C:\Pfad\zu\deiner\datei.txt"), vbOKOnly, "Langer Text"

Tipps für Profis

  • Verwende vbCrLf anstelle von vbLf, wenn Du sicherstellen möchtest, dass ein Zeilenumbruch in verschiedenen Windows-Versionen korrekt angezeigt wird.
  • Bei der Arbeit mit umfangreichen Texten kann es sinnvoll sein, ein UserForm zu erstellen, anstatt eine MsgBox zu nutzen, da diese mehr Flexibilität und Platz bietet.

FAQ: Häufige Fragen

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.

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