Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Listbox-Höhe soll sich automatisch an Anzahl der Einträge anpassen
#1
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?
Antworten Top
#2
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
Antworten Top
#3
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.
Antworten Top
#4
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
Antworten Top
#5
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?!
Antworten Top
#6
Hi

ich bin bei weitem kein Experte
befasse mich auch selber erst seit ca. 2½ Jahren mit VBA


vielleicht wirst du hier etwas mehr erfahren

http://www.vb-fun.de/cgi-bin/loadframe.p...l025.shtml

MfG Tom
Antworten Top
#7
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.
Antworten Top
#8
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:
________________________________________________________________________
wer aufgibt, ohne es versucht zu haben, gibt einfach nur auf!

Grüße aus Norderstedt, Peter
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste