MsgBox in VBA Excel

  • #1
T

The Dude

Guest
Hallo!

Ich habe folgendes Problemchen: Mein Makro liest aus einer Tabelle bestimmte Datensätze (, wenn Sie ein Kriterium erfüllen). Diese Datensätze sollen mit einer MsgBox ausgegeben werden. Leider Pasiert es, dass nicht alle Datensätze ausgegeben werde. Mit anderen Worten mein Ausgabetext in der MsgBox ist unvollständig. Was mache ich falsch? Gibt es für MsgText oder die MsgBox eine maximal Anzahl von Zeichen, die ausgegeben werden können?? Hat jemand schon mal so ein Problem gehabt??
 
  • #2
hi

Das hier sagt die Excel Hilfe zu deiner Frage

Die Maximallänge von prompt ist - je nach Breite der verwendeten Zeichen - etwa 1024 Zeichen.

also wenn du mehr als 1024 zeichen hast, müsstest du allenfalls auf 2 oder mehrere MSGBox's auskommen.

mfg billy
 
  • #3
Heißt das, dass egal ob der MsgtText als String (2 Mrd. Zeichen) definiert ist oder nicht, fakt bleibt, dass der Prompt nicht länger als 1024 Zeichen sein darf. Kann man das irgendwie umgehen, da ich vermeiden möchte, dass ich 2 MsgBoxes habe???

Gruß
 
  • #4
eine idee die ich im moment habe, einfach dass du die msgbox mehrzeilig machst aber ich denke das hast du schon gemacht.

sonst öhm, wie wärs mit einer userform???

kanns dir im moment nicht genauer ausführen da ich wider ins bnett muss :°

mfg billy
 
  • #5
hi,

also eine Userform werde ich nicht benutzen, da derjenige für den ich das Makro schreibe ausdrücklich gewünscht hat, dass es eine MsgBox sein soll. Ich habe natürlich schon mehrzeilig ausgeben lasse. Die Lösung, die ich bis jetzt habe (in der glücklicher weise alle datensätze komplett ausgegeben werden, ist mit Hilfe einer 2. MsgBox.

Die perfektion wäre jetzt noch beide Msgboxes nebeneinander auszugeben.....nur wie?????????

The Dude
 
  • #6
gute frage

ich meinte jetzt dass man nur msgbox nur nach einander und nicht neben einander.

sonst öhm... alternative: wie wäre es mit einem seperaten Worksheet???

kannst ja irgend wie auf versteckt stellen oder so
 
  • #7
Gar nicht.
Das ist wie beim Highlander, es kann nur eine geben.

Eddie
 
  • #8
Probiers mal mit der API Funktion:
Code:
Private Declare Function MessageBox Lib user32 Alias _
    MessageBoxA (ByVal hwnd As Long, ByVal lpText _
    As String, ByVal lpCaption As String, ByVal _
    wType As Long) As Long
Bei dieser API Function kann lpText kann auch >1024 sein. Die Zeichenanzahl solltest Du aber vorher trotzdem beschränken, da sie Messagebox auch über den Bildschirmrand hinaus gehen kann.
Auch in anderen Bereichen verhält sich Messagebox anders als MSGBox. So laufen TimerProceduren beispielsweise weiter.
 
  • #9
hallo leutz,

also ich kann das ganze nich richtig nachvollziehen. Du schreibst es muss unbedingt eine MessageBox sein und da denke ich mir, warum ? Weil das Aussehen der Messagebox so gut gefällt ?
Das ist doch kein Problem, du baust dir einfach mit einer Form eine Messagebox nach. Auf der Form nimmst du ein Textfeld und setzt seine Special-Effekts-Eigenschaft auf Flat, dann merkt doch kein Mensch, dass das ein Textfeld ist. Schon bist du die Zeichenbeschränkung los.
mfg
 
Thema:

MsgBox in VBA Excel

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.838
Beiträge
707.959
Mitglieder
51.491
Neuestes Mitglied
haraldmuc
Oben