Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

ListBox verändert ihre Größe

Forumthread: ListBox verändert ihre Größe

ListBox verändert ihre Größe
30.07.2005 22:54:03
Andreas
Ich habe eine Listbox, die abhängig von einem Optionsfelf einmal eine Liste im Stil "fmListStylePlain" anzeigt und mal eine Liste im "fmListStyleOption".
Kurioserweise ändert die Box beim Umschalten jedesmal ihre Größe, sie wird um ca. eine Zeile kürzer, bis sie nur noch eine Zeile breit ist.
Ich habe das Makro unter Excel2000 programmiert, da ist mir der Fehler nicht aufgefallen (ich bin aber nicht sicher, ob ich es nur übersehen haben könnte).
Unter Excel2003 ist es jedenfalls so.
Minimaldokument: https://www.herber.de/bbs/user/25150.xls
(Eine Zuweisung der Height-Eigenschaft am Ende der Routine ändert übrigens nichts, vielmehr entsteht innerhalb der Box so eine kuriose Linie).
Danke,
Andreas

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ListBox verändert ihre Größe
30.07.2005 23:00:20
Leo
Hi,
das passiert nur, wenn die Listbox leer ist und die Eigenschaft IntegralHeight auf
True gesetzt ist.
mfg Leo
AW: ListBox verändert ihre Größe
30.07.2005 23:02:42
Matthias
Hallo Leo,m
wenn sie nicht leer ist, wird sie bei trotzdem kleiner, aber das mit dem IntegralHeight stimmt. Auf so was muss man erst mal kommen...
Gruß Matthias
Anzeige
AW: ListBox verändert ihre Größe
30.07.2005 23:15:00
Andreas
Okay, danke.
Mit dem Inhalt der ListBox hat das offenbar nichts zu tun, aber der der Tip mit Integral Height war genau richtig. Danke!!
Andreas
AW: ListBox verändert ihre Größe
30.07.2005 23:25:19
Leo
Hi,
wenn die Listbox leer ist, wird sie bei jedem Klick kleiner, wenn sie gefüllt ist,
sorgt IntegralHeight dafür, dass kein Eintrag nur halb angezeigt wird, also eine
geringe Korrektur der eingestellten Höhe, falls erforderlich.
mfg Leo
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

ListBox und ihre Größe in Excel richtig handhaben


Schritt-für-Schritt-Anleitung

  1. Öffne Excel und erstelle eine UserForm: Füge eine ListBox und ein Optionsfeld hinzu.
  2. Einstellung der ListBox: Stelle die ListBox-Eigenschaft IntegralHeight auf True. Dies kann über die Eigenschaften-Leiste oder im VBA-Editor geschehen:
    ListBox1.IntegralHeight = True
  3. Fülle die ListBox: Füge einige Elemente zur ListBox hinzu, um das Verhalten bei leerem Zustand zu testen.
  4. Testen der Funktionalität: Wechsle zwischen den Stilen fmListStylePlain und fmListStyleOption, um zu sehen, wie die ListBox reagiert.
  5. Überprüfe die Höhe: Achte darauf, ob die ListBox bei jedem Wechsel ihre Größe ändert.

Häufige Fehler und Lösungen

  • Problem: ListBox wird kleiner, wenn sie leer ist.

    • Lösung: Überprüfe, ob IntegralHeight auf True gesetzt ist. Diese Einstellung sorgt dafür, dass die ListBox ihre Höhe an die Einträge anpasst.
  • Problem: ListBox zeigt nur eine Zeile an.

    • Lösung: Fülle die ListBox mit Inhalten. Wenn sie leer ist, kann es zu unerwarteten Änderungen in der Höhe kommen.

Alternative Methoden

Eine Möglichkeit, die Größe der ListBox zu steuern, besteht darin, die Height-Eigenschaft direkt im VBA zu setzen. Zum Beispiel:

ListBox1.Height = 100 ' Setze die Höhe auf 100 Punkte

Dies verhindert, dass die ListBox bei Leerzuständen schrumpft. Du kannst die Höhe dynamisch anpassen, je nach Anzahl der Einträge.


Praktische Beispiele

Hier ist ein einfaches Beispiel für ein VBA-Makro, das die ListBox mit Werten füllt und die Höhe anpasst:

Private Sub UserForm_Initialize()
    ListBox1.IntegralHeight = True
    ListBox1.AddItem "Eintrag 1"
    ListBox1.AddItem "Eintrag 2"
    ListBox1.AddItem "Eintrag 3"
End Sub

Wenn du nun das Optionsfeld verwendest, um den Stil zu wechseln, achte darauf, dass die ListBox nicht leer ist, um das Problem mit der Höhenänderung zu vermeiden.


Tipps für Profis

  • VBA Debugging: Nutze den Debugger, um den Zustand der ListBox während der Ausführung zu überprüfen. Das kann dir helfen, unerwartete Änderungen zu identifizieren.
  • Formularanpassungen: Denke daran, dass die Größe der ListBox auch von der Größe des Formulars abhängt. Stelle sicher, dass dein UserForm ausreichend Platz bietet.
  • Verwendung von ListBox in Excel: Bei der Arbeit mit einer ListBox in Excel ist es wichtig, die Eigenschaften gut zu verstehen, um unerwartete Änderungen in der Darstellung zu vermeiden.

FAQ: Häufige Fragen

1. Warum verändert sich die Größe meiner ListBox? Die Größe deiner ListBox kann sich ändern, wenn die IntegralHeight-Eigenschaft auf True gesetzt ist und die ListBox leer ist.

2. Wie kann ich die Höhe der ListBox fixieren? Du kannst die Height-Eigenschaft der ListBox im VBA-Code festlegen, um eine konstante Höhe zu gewährleisten, unabhängig von der Anzahl der Elemente.

3. Welche Version von Excel sollte ich verwenden? Die beschriebenen Funktionen funktionieren sowohl in Excel 2000 als auch in Excel 2003, jedoch können sich die Ergebnisse je nach Version leicht unterscheiden.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige