Folgendes Problem treibt mich seit Tagen in den Wahnsinn:
Ich habe eine Liste an Namen, aus der ich eine beliebige Anzahl auswählen und in ein Excel Feld eintragen lassen möchte. Diese Namen sind auf einer anderen Seite definiert und tragen den Namen "Personal". Nehmen wir mal an es sind 15 Stück.
Beim Doppelklick auf ein leeres Feld soll sich nun ein Auswahlfenster (Name: "Personalauswahl") öffnen, das mir die 15 Namen zeigt. Dort wählt man nun die gewünschten Personen aus, klickt auf OK und dann werden diese in das vorher gewählte Feld eingetragen.
Das Funktioniert auch alles soweit gut. Was allerdings nicht funktioniert: Ich möchte, dass sich die Höhe der Listbox, in der die Namen stehen, automatisch in der Höhe an die Anzahl der Namen anpasst. Wenige Namen - kleines Fenster, viele Namen - großes Fenster. Ich will Scrollbalken um jeden Preis vermeiden.
Um das zu erreichen habe ich in Excel ein User Form gezeichnet, welches die Listbox und zwei Buttons (OK, Abbrechen) beinhaltet.
Zudem gibt es folgenden Code:
1 2 3 4 5 6 7 8 9 10 11 12 | Private Sub UserForm_Activate()
For Each i In Range( "Personal" ).Rows
ListBox1.AddItem i.Cells(1, 1).Text
Next
ListBox1.Height = 3 + (ListBox1.ListCount * ListBox1.Font.Size) + (ListBox1.ListCount * 5)
ButtonOk.Top = ListBox1.Top + ListBox1.Height + 20
ButtonAbbrechen.Top = ListBox1.Top + ListBox1.Height + 20
Personalauswahl.Height = 25 + ListBox1.Top + ListBox1.Height + 20 + ButtonOk.Height + 15
End Sub
|
Kurz zur Erklärung: Mit der Zeile ListBox1.Height = ... versuche ich, die Höhe der Listbox abhängig der Schriftgröße und der Anzahl der Einträge anzupassen. Eigentlich dachte ich, dass die Höhe der Listbox mit der Formel (AnzahlEinträge * Schriftgröße + AnzahlEinträge * Zeilenabstand) ungefähr passen müsste.
Was ich allerdings erhalte ist vollkommen merkwürdig und nie richtig. Manchmal verändert das Skript die Größe der Listbox überhaupt nicht und sie bleibt so groß, wie ich sie ursprünglich gezeichnet habe. Manchmal wird die Größe angepasst, lösche ich dann aber Einträge oder füge welche hinzu, stimmt die Größe wieder nicht mehr. Ich bekomme es einfach nicht so hin, dass die Größe der Box unabhängig von der Anzahl der Einträge IMMER stimmt.
Könnt ihr mir hierbei bitte helfen? Ich werd sonst noch bekloppt :)
Gruß
Thomas
|