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

Messagebox zu klein (Autosize)

Forumthread: Messagebox zu klein (Autosize)

Messagebox zu klein (Autosize)
{Boris}
Hi Leute,
bei Doppelklick auf eine Datumszelle öffnet sich eine Messagebox, die dann wiederum anzeigt, um welchen Feiertag es sich handelt.
Wie kann es sein, dass sie tatsächlich zu klein ist - denn bei der ersten MsgBox wird der Titel "Am 13.05.2012 ist..." ja nach "Am 13.05.2012 i..." abgekürzt?!
Userbild
Der Aufruf der MsgBox erfolgt per Doppelklick auf eine Datumszelle wie folgt (die aktive Zelle enthält ein stinknormales Datum):
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Call Feiertag_anzeigen(ActiveCell.Value)
Cancel = True
End Sub
Public Sub Feiertag_anzeigen(vntValue As Variant)
If WorksheetFunction.CountIf(Range("Feiertagsdaten"), vntValue) Then
MsgBox WorksheetFunction.VLookup(CLng(vntValue), Range("Feiersverw"), 2, 0), vbOKOnly, "Am " _
& vntValue & " ist..."
End If
End Sub
Dankbar für jeden erleuchtenden Hinweis und
VG, Boris
Anzeige

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Messagebox zu klein (Autosize)
10.07.2012 22:14:07
mumpel
Hallo!
Fülle den Meldungstext einfach mit Leerzeichen auf. Oder nutze eine Userform.
Gruß, René
OK, das ist der Workaround...
10.07.2012 22:15:29
{Boris}
Hi René,
...vielen Dank dafür. Aber warum darf man nicht davon ausgehen, dass der gesamte Text auch angezeigt wird?
VG, Boris
AW: OK, das ist der Workaround...
10.07.2012 22:23:02
mumpel
Das liegt daran dass die Größe vom Meldungstext abhängt. Ist dieser zu klein wird der Fenstertitel abgeschnitten.
Noch eine Möglichkeit wäre, "vbInformation" zu nutzen. Dann wird das Meldungsfenster automatisch größer.
Anzeige
Merci...
10.07.2012 22:30:49
{Boris}
Hi René,
Das liegt daran dass die Größe vom Meldungstext abhängt. Ist dieser zu klein wird der Fenstertitel abgeschnitten.
Wenn das so ist, dann isses eben so. Ist mir wohl noch nie aufgefallen...
Habe ja jetzt 2 Lösungen (Leerzeichen, vbInformation).
VG, Boris
Noch eine Möglichkeit...
10.07.2012 22:51:29
mumpel
Mit "vbTab" den Meldungstext in die Mitte setzen.
Anzeige
Auch gut, aber...
10.07.2012 23:03:02
{Boris}
Hi René,
...da muss man schon 2 mal "tabben", den mit nur einem vbTab gibt´s nur einen Buchstaben extra:
"Am 13.05.2012 is..."
Das t fehlt dabei immer noch.
Aber ich bin jetzt definitiv schlauer!
Besten Dank und VG,
Boris
AW: Auch gut, aber...
10.07.2012 23:07:04
mumpel
Bei mir reicht ein vbTab. Wie hoch ist denn Deine Bildschirmauflösung?
Anzeige
1680 x 945
10.07.2012 23:22:46
{Boris}
...halt so'n Breitbildlaptop ;-)
VG, Boris
AW: 1680 x 945
10.07.2012 23:25:19
mumpel
Merkwürdig. Bei dieser Auflösung müsstest Du IMHO mehr sehen als ich (1366x746, 13"). Ich kann mir nicht vorstellen dass es an der Officeversion liegt (2010).
Screenshot
10.07.2012 23:33:09
{Boris}
Hi René,
so sieht das bei mir (mit 1 mal vbTab) aus:
Userbild
VG, Boris
Anzeige
AW: Screenshot
11.07.2012 00:41:17
mumpel
Immer noch sehr werkwürdig. ;) Vielleicht hat ja noch jemand eine Erklärung.
Feiertagsliste
11.07.2012 09:25:09
{Boris}
Hi Rolf,
danke - aber die hab ich natürlich bereits, denn genau aus solch einer Matrix wird der Feiertag für die Anzeige in der MsgBox ausgelesen.
VG, Boris
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Messagebox in Excel anpassen: So funktioniert's


Schritt-für-Schritt-Anleitung

  1. Öffne den Visual Basic for Applications (VBA) Editor:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Füge den Code ein:

    • Füge den folgenden Code in das entsprechende Arbeitsblattmodul ein:
      
      Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
      Call Feiertag_anzeigen(ActiveCell.Value)
      Cancel = True
      End Sub

    Public Sub Feiertaganzeigen(vntValue As Variant) If WorksheetFunction.CountIf(Range("Feiertagsdaten"), vntValue) Then MsgBox WorksheetFunction.VLookup(CLng(vntValue), Range("Feiersverw"), 2, 0), vbOKOnly, "Am " & vntValue & " ist..." End If End Sub

  3. Teste die Funktion:

    • Doppelklicke auf eine Datumszelle, um die Messagebox zu öffnen.

Häufige Fehler und Lösungen

  • Problem: Die Messagebox wird zu klein angezeigt, und der Titel ist abgekürzt.

    • Lösung: Achte darauf, dass der Meldungstext lang genug ist. Du kannst den Text mit Leerzeichen auffüllen, um die Größe der Messagebox zu beeinflussen.
  • Problem: Der Text wird trotz der Anpassungen nicht vollständig angezeigt.

    • Lösung: Verwende den Parameter vbInformation, um die Messagebox automatisch größer zu machen:
      MsgBox "Dein Text hier", vbInformation, "Am " & vntValue & " ist..."

Alternative Methoden

  • Userform nutzen: Anstatt eine MsgBox zu verwenden, kannst Du eine Userform erstellen, die mehr Flexibilität in der Gestaltung bietet.
  • Zentrierter Text: Um den Text in der Messagebox zu zentrieren, kannst Du vbTab verwenden. Beachte, dass oft mehrere Tabs nötig sind, um eine ansprechende Darstellung zu erzielen.

Praktische Beispiele

  • Beispielcode mit vbTab:

    MsgBox vbTab & "Am " & vntValue & " ist..." & vbTab & "Dein Feiertag", vbOKOnly, "Information"
  • Meldung mit Userform:

    • Erstelle eine Userform im VBA-Editor und füge dort die gewünschten Steuerelemente (Label, Button) hinzu, um die Informationen anzuzeigen.

Tipps für Profis

  • Prüfe die Bildschirmauflösung: Wenn die Messagebox bei Dir nicht richtig angezeigt wird, überprüfe Deine Bildschirmauflösung und die Einstellungen in Excel. Manchmal kann auch die Office-Version Einfluss auf das Erscheinungsbild haben.
  • Nutze Variablen für Flexibilität: Anstatt feste Werte zu verwenden, arbeite mit Variablen, um die Messagebox dynamisch zu gestalten.

FAQ: Häufige Fragen

1. Wie kann ich die Größe der Messagebox anpassen? Die Größe der Messagebox kann nicht direkt angepasst werden, aber Du kannst den Inhalt so gestalten, dass sie größer erscheint, indem Du vbInformation oder zusätzliche Leerzeichen verwendest.

2. Warum wird der Titel in der Messagebox abgeschnitten? Der Titel wird abgeschnitten, wenn der Meldungstext zu kurz ist. Achte darauf, dass der Text ausreichend lang ist, um die Messagebox automatisch anzupassen.

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