Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Kontrollkästchen dynamisch

Forumthread: Kontrollkästchen dynamisch

Kontrollkästchen dynamisch
19.10.2006 14:17:06
Hansi
Hallo Experten,
habe folgendes Problem.
Ich möchte gerne auf meine Userform Kontrollkästchen dynamisch erstellen, d.H. wenn die Userform gestartet wird, sollen soviele Kontrollkästchen (linke Seite untereinander) erstellt werden, wie tabellenblätter vorhanden sind, die Caption der Kontrollkästchen soll gleich mit dem Tabellennamen sein.
Im Moment lese ich die Tabellenblätter in eine Listbox ein, mit diesem Code:

Private Sub UserForm_Initialize()
For Each ws In ActiveWorkbook.Sheets
lstTB.AddItem ws.Name
lstTB.ListIndex = 0
Next ws
End Sub

Könnte mir jemand einen Ansatz geben, oder erklären, wie ich ein Kontrollkästchen über ein Makro der Form hinzufüge?
Vielen Dank für Eure Hilfe.
Grüße
Hansi
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Kontrollkästchen dynamisch
19.10.2006 14:24:45
Rudi
Hallo,

Private Sub UserForm_Initialize()
Dim ws As Worksheet, ckb As Control
Dim iTop As Integer
For Each ws In ActiveWorkbook.Sheets
lsttb.AddItem ws.Name
lsttb.ListIndex = 0
Set ckb = Controls.Add("forms.checkbox.1")
With ckb
.Height = 18
.Top = IIf(iTop = 0, 10, iTop + .Height + 5)
.Left = 10
.Width = 60
.Caption = ws.Name
iTop = .Top
End With
Next ws
End Sub
Gruß
Rudi
Anzeige
AW: Kontrollkästchen dynamisch
19.10.2006 14:31:47
Hansi
Hallo Rudi,
Wow, das war eine super schnelle Hilfe und klappt fantastisch.
Eine kleinigkeit hätte ich da noch, wenn nun die UF zu ende ist, kann mann dann die Kästchen rechts neben die anderen packen?
meine UF darf sich in der Höhe nicht verändern, nur in der Breite.
Die Höhe muss bei .Height = 211 bleiben.
Danke Dir schonmal.
Grüße
Hansi
P.S. wie bekommt man den den Level da so hin wie bei Dir?
Anzeige
AW: Kontrollkästchen dynamisch
19.10.2006 15:05:07
Rudi
Hallo,

Private Sub UserForm_Initialize()
Dim ws As Worksheet, ckb As Control
Dim iTop As Integer, iLeft As Integer
iLeft = 10
For Each ws In ActiveWorkbook.Sheets
lsttb.AddItem ws.Name
lsttb.ListIndex = 0
Set ckb = Controls.Add("forms.checkbox.1")
With ckb
.Height = 18
.Top = IIf(iTop = 0, 10, iTop + .Height + 5)
.Left = iLeft
.Width = 60
.Caption = ws.Name
iTop = .Top
If (iTop + .Height) > (Me.Height - 50) Then iTop = 0: iLeft = .Left + .Width + 20
End With
Next ws
End Sub

Gruß
Rudi
PS: indem man sich durchwurschtelt
Anzeige
AW: Kontrollkästchen dynamisch
19.10.2006 15:11:16
Hansi
Hallo Rudi,
Vielen Dank, das klappt bestens...
Grüße
Hansi
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige