Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Msgbox zeigt nur die erste Zeile | Herbers Excel-Forum


Betrifft: Msgbox zeigt nur die erste Zeile von: Jörg-HH
Geschrieben am: 11.12.2009 00:26:38

Hallo zusammen

warum wird mir von dieser MsgBox nur die erste Zeile angezeigt?

MsgBox " Fertig !" & vbLf & vbLf & _
"Die folgende Speicherabfrage beim Schließen" & vbLf & _
"bitte mit Ja quittieren!", , ""

Hab's schon mit Klammern versucht, geht aber nicht :-(

Grüße - Jörg

  

Betrifft: AW: Msgbox zeigt nur die erste Zeile von: Josef Ehrensberger
Geschrieben am: 11.12.2009 00:31:38

Hallo Jörg,

die MsgBox wir bei mir korrekt dargestellt!


Gruß Sepp



  

Betrifft: MsgBox Zeilenumbruch von: Beate Schmitz
Geschrieben am: 11.12.2009 00:40:30

Hallo Jörg,

habe auch kein Problem. Aber dann probiere mal diesen Code:

Sub Test()
    MsgBox " Fertig !" & vbCrLf & vbCrLf & _
        "Die folgende Speicherabfrage beim Schließen" & vbCrLf & _
        "bitte mit Ja quittieren!"
End Sub



Guckst Du: MsgBox - Zeilenumbruch

Gruß,
Beate


  

Betrifft: vbCrLf hilft auch nicht... von: Jörg-HH
Geschrieben am: 11.12.2009 00:51:07

Hallo Beate
mit vbCrLf geht's auch nicht. Hätte mich auch gewundert - alle anderen MsgBoxen brechen anstandslos bei vbLf um...

Grüße - Jörg


  

Betrifft: upps... von: Jörg-HH
Geschrieben am: 11.12.2009 00:44:58

...seltsam - ja, Sepp - ich hab das jetzt mal in eine Dummydatei ausgegliedert - dort wird die Meldung auch korrekt angezeigt. Ist an dem Drumherum was faul?

''############# Einrichten des 2. Durchlaufs ##############
...
ElseIf Worksheets("ToDo").CmBtnRücklaufdatei.Caption = "2.Durchlauf" Then

MsgBox "Es wird nun für " & ProjName & " " & TPName & " " & vbLf & _
"die Kalkulation für den" & vbLf & "ZWEITEN Durchlauf eingerichtet.", vbOKOnly, "Kalkulation erstellen"
Worksheets("Formular").Range(wsConfig.Range("B13").Value).Value = 2
Worksheets("ToDo").CmBtnRücklaufdatei.Caption = "3.Durchlauf"
Worksheets("ToDo").CmBtnRücklaufdatei.Enabled = True

ActiveWorkbook.Save
MsgBox " Fertig !" & vbLf & vbLf & _
"Die folgende Speicherabfrage beim Schließen" & vbLf & _
"bitte mit Ja quittieren!", , ""

''############# Einrichten des 3. Durchlaufs ##############

ElseIf Worksheets("ToDo").CmBtnRücklaufdatei.Caption = "3.Durchlauf" Then
...

Grüße - Jörg


  

Betrifft: Hier erkenne ich nichts Besonderes,... von: Luc:-?
Geschrieben am: 11.12.2009 02:09:39

...Jörg,
es könnte aber sein, dass irgendeine Variable einen Fehlerwert liefert, dann wird die MsgBox übergangen. Fehlerwerte können hier nur über Textumwandlung [mit CStr(...)] dargestellt wdn.
Da du aber schreibst, dass nur die 1.Zeile angezeigt wird, muss wohl eine Variable einen so langen Text enthalten, dass er zwar bis zum Zeilenlängemaximum angezeigt wird, danach dann aber nichts mehr Platz hat, weil das Zeichenanzahlmaximum für MsgBoxes mit dieser einen Variable überschritten wird. Wenn man das an der erscheinenden MsgBox nicht erkennen kann, würde ich das als „Verkettung unglücklicher Umstände“ bezeichnen — man kann es auch schlicht Praxis nennen oder mit Tom Hanks „Shit happens!“ titulieren... ;-)
Gruß Luc :-?


  

Betrifft: @Luc : Da könntest Du Recht haben von: NoNet
Geschrieben am: 11.12.2009 02:56:07

Hey Luc,

Deine Theorie könnte stimmen - doch dazu muss nicht einmal eine besondere "Länge" des Textes definiert sein, es genügt bereits 1 Zeichen :

Sub test()
    Dim strText As String * 1
    MsgBox "abc" & strText & vbLf & "xyz"
End Sub
@Jörg : Hast Du den String etwa SO definiert ?

Gruß, NoNet


  

Betrifft: @NoNet: Die einzige Möglichkeit, dass die... von: Luc:-?
Geschrieben am: 11.12.2009 11:29:17

...Box erscheint und scheinbar nur 1 Zeile enthält, NoNet,
scheint mir doch zu sein, dass eine Variable mit einem Text geladen wird, der jede Menge Leerzeichen oder Vglbares enthält. Könnte bei Übernahme aus DBn schon mal vorkommen. Dadurch könnte die MaxZeichenzahl von 1023 überschritten wdn. Anhaltspkt für einen solchen Fall wäre, wenn die Box mehr Zeilen, wenn auch leer, zeigt, als für eine Zeile Text erforderlich wären (so optische 2-3 Zeilen mehr)...
Dass es in diesem Fall so ist, habe ich getestet!
Gruß Luc :-?


  

Betrifft: LOL - falsche Box... :-) von: Jörg-HH
Geschrieben am: 11.12.2009 11:30:38

oh mannooo, Leute - nicht zu fassen:

Ich hab an mehreren Stellen des Codes so eine simple Fertig-Meldung, und ich merke gerade, daß ich mit der textlichen Ergänzung an der falschen Meldung gebastelt habe...

Da verzweigt sich im Ablauf Einiges und läuft am Ende wieder zusammen, und ich hab schlicht die Übersicht verloren :-))

naja - auch nach zwei Jahren autodidaktischer VBA-Karriere empfinde ich mich immer noch als Anfänger - zu Recht, wie man sieht...

Wünsch euch allen ein schönes WE

Jörg


  

Betrifft: Naja, wenigstens haste'n'paar Zusatzinfos...orT von: Luc:-?
Geschrieben am: 11.12.2009 11:51:24

schöWE dito, Luc :-?


Beiträge aus den Excel-Beispielen zum Thema "Msgbox zeigt nur die erste Zeile"