Thema Datum  Von Nutzer Rating
Antwort
Rot Automatische Höhe einer Listbox
14.01.2018 17:44:01 Thomas
NotSolved
16.01.2018 15:20:52 Gast80223
NotSolved
17.01.2018 17:54:24 Thomas
NotSolved
18.01.2018 07:57:09 Gast44515
NotSolved
18.01.2018 21:34:36 Gast25873
NotSolved

Ansicht des Beitrags:
Von:
Thomas
Datum:
14.01.2018 17:44:01
Views:
1085
Rating: Antwort:
  Ja
Thema:
Automatische Höhe einer Listbox

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:

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


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Automatische Höhe einer Listbox
14.01.2018 17:44:01 Thomas
NotSolved
16.01.2018 15:20:52 Gast80223
NotSolved
17.01.2018 17:54:24 Thomas
NotSolved
18.01.2018 07:57:09 Gast44515
NotSolved
18.01.2018 21:34:36 Gast25873
NotSolved