Hallo,
ich möchte eine Userform Listbox die Höhe automatisch gemäß Einträge festlegen.
z.B wen ich 2 Einträge habe UF.Listbox1.Height = UF.Listbox… ?
Danke!
Gruß
Chrissi
ich möchte eine Userform Listbox die Höhe automatisch gemäß
Einträge festlegen.
z.B wen ich 2 Einträge habe UF.Listbox1.Height =
UF.Listbox… ?
Hallo Chrissi,
ganz genau weiß ich das nicht, ist auch schwierig *find*
Als Annäherung schreib den Startcode so:
UF.Height=ListBoxX.Top + ListBoxX.Height + 30
ListBoxX ist die unterste ListBox.
Hilft’s? Wenn nicht, melde dich hier.
Gruß
Reinhard
Hallo Reinhard,
leider funktioniert es nicht!
Die Listbox wird bei jedem Aufruf nur vergößert, jedoch nicht angepasst an die
Anzahl der Einträge.
Danke, ersrmal für Deine Hilfe!
Gruß
Chrissi
leider funktioniert es nicht!
Die Listbox wird bei jedem Aufruf nur vergößert, jedoch nicht
angepasst an die Anzahl der Einträge.
Hallo Chrissi,
prinzipiell, zumindest für ungefähre Höhenanpassung brauchste ja nur diese Codezeile:
ListBox1.Height = EinträgeAnzahl * Höhenfaktor.
Der Höhenfaktor ist abhängig davon wie du die Listbox, deren Text, formatiert hast, Schriftart, Fett usw.
Um diesen Faktor in etwa zu bestimmen kannst du die UF in dieser Mappe nehmen:
http://www.file-upload.net/download-8290452/ListboxA…
In einiger Zeit geht der Download-Link nicht mehr.
Deshalb nachstehend der Code in der UF um sie dann nachbauen zu können.
Hier ein Bild meiner UF:
http://www.pic-upload.de/view-21329796/kwListBox.jpg…
In der UF wird benötigt
ListBox1
Label1 mit Text Anzahl Einträge
Label2 mit Text Faktor
TextBox1
TextBox2
Scrollbar1
Scrollbar2
Schreibe in A1: Eintrag1, dann kopiere die rechte untere Ecke von A1 nach unten.
Gruß
Reinhard
In das Modul der Userform:
Option Explicit
Private Sub ScrollBar1\_Change()
ListBox1.RowSource = "A1:A" & ScrollBar1.Value
ListBox1.Height = ScrollBar1.Value \* Val(TextBox2.Text)
TextBox1.Text = ScrollBar1.Value
End Sub
Private Sub ScrollBar2\_Change()
TextBox2.Text = ScrollBar2.Value / 100
ListBox1.Height = ScrollBar1.Value \* Val(TextBox2.Text)
End Sub
Private Sub UserForm\_Activate()
Me.StartUpPosition = 0
Me.Left = 0
Me.Top = 0
Me.Height = 500
ScrollBar1.Min = 1
ScrollBar1.Max = 100
ScrollBar1.Value = 1
ScrollBar2.Min = 1000
ScrollBar2.Max = 1200
ScrollBar2.Value = 1000
TextBox1.Text = ScrollBar1.Value
ListBox1.RowSource = "A1:A" & ScrollBar1.Value
TextBox2.Text = ScrollBar2.Value / 100
ListBox1.Height = ScrollBar1.Value \* Val(TextBox2.Text)
End Sub