Einen schönen Abend wünsche ich,
habe bei meiner ListBox1 folgenden Code:
Code:
With ListBox1
.SetFocus
.MultiSelect = fmMultiSelectMulti
.AddItem "Artikel 1"
.AddItem "Artikel 2"
.AddItem "Artikel 3"
'Höhe der Listbox soll sich der Anzahl der Einträge, also der AddItems anpassen
.Height = .ListCount * .Font.Size * 1.25
End With
Das Problem, die Höhe der ListBox1 soll in Abhängigkeit von den Einträgen dynamisch sein. Aber leider tut sich bei mir nichts.
Auch wenn ich .Height = irgendeine Zahl eingebe, die Höhe der Listbox bleibt immer so groß wie ich sie auf der UserForm gezeichnet habe.
Was mache ich falsch?
Hi
bei welchem Ereignis soll sich die Listbox denn verändern?
da würde uns die Ansicht des ganzen Codes vielleicht weiter bringen
und nicht nur ein Ausschnitt davon
wenn ich den Code hinter einen Commandbutton lege
dann ist die Listbox nur noch 3 Zeilen hoch
MfG Tom
Hallo Crazy Tom,
also ich bin mit der Listbox eigentlich noch gar nicht vertraut.
Ich dachte mir anhand des vorliegenden Codes zunächst mal folgendes, die Listbox wird im Rahmen des UserForm_Initialize mit den 3 Einträgen dort geladen. Tut sie ja auch.
Dort werden mir dann in der Listbox1 die 3 Einträge Artikel 1 bis Artikel 3 gezeigt.
Die Anpassung der Höhe misslingt jedoch bei diesem Initialisierungsprozess.
Hi
das habe ich im Activate-Ereignis getestet
Code:
Private Sub UserForm_Activate()
With ListBox1
.SetFocus
.MultiSelect = fmMultiSelectMulti
.AddItem "Artikel 1"
.AddItem "Artikel 2"
.AddItem "Artikel 3"
'Höhe der Listbox soll sich der Anzahl der Einträge, also der AddItems anpassen
.Height = .ListCount * .Font.Size * 1.5
End With
End Sub
MfG Tom
Hallo Crazy Tom,
funktioniert danke. Aber, ich sage mal spitz genau wie "meins", d.h. ich starte mit UserForm_initialize und funktioniert nicht, du mit Activate und es funktioniert.
Bitte sage mir als Experte, warum? Ich wäre da nie drauf gekommen, wo liegt der Unterschied?!
Danke für deine Hilfe und danke für den Link.
Kein Experte, nun ja... Wahrscheinlich müssen das alle sagen, weil die Programmierung so extrem umfangreich ist und de facto keiner alles beherrschen kann.
Dir einen schönen Abend.
Hallo,
Zitat:Bitte sage mir als Experte, warum? Ich wäre da nie drauf gekommen, wo liegt der Unterschied?!
ich denke mir das mal so erklären zu können. Wenn ich etwas Inizialisiere, dann gebe ich ja lediglich ein paar Vorgaben, ähnlich der Deklaration von Variablen oder der Formatierung von Zellen.
Das passiert zunächst mal alles passiv während sozusagen das Aktivieren dann das Gewehr entsichert.
Doofer Vergleich? ... Na ja, ... mir ist aber kein dümmerer eingefallen :05: