Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
812to816
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
812to816
812to816
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

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

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
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
AW: Kontrollkästchen dynamisch
19.10.2006 15:11:16
Hansi
Hallo Rudi,
Vielen Dank, das klappt bestens...
Grüße
Hansi
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige