Dynamische UserForms

01/10/2010 - 22:11 von Dirk Schuster | Report spam
Hallo zusammen,

ist es möglich, per VBA Userforms dynamisch zu erzeugen?

Ich habe in Excel eine Liste mit gefüllten Zellen, z.B.

Apfel
Banane
Birne

Ich möchte nun, dass beim Start eines Makros ein UserForm mit drei
Checkboxen mit den Bezeichnungen Apfel, Banane, Birne angezeigt wird.
Falls z.B. vier Zellen gefüllt sind, sollen eben vier Checkboxen
angezeigt werden.

Ist das überhaupt möglich?

Gruß,
Dirk
 

Lesen sie die antworten

#1 Andreas Killer
02/10/2010 - 14:54 | Warnen spam
Am 01.10.2010 22:11, schrieb Dirk Schuster:

ist es möglich, per VBA Userforms dynamisch zu erzeugen?


Jipp, das geht, eine Userform selber ist aber nicht so easy.

Ich möchte nun, dass beim Start eines Makros ein UserForm mit drei Checkboxen mit den Bezeichnungen Apfel, Banane, Birne
angezeigt wird. Falls z.B. vier Zellen gefüllt sind, sollen eben vier Checkboxen angezeigt werden.

Ist das überhaupt möglich?


Das ist kein Problem. Schreib mal etwas in Spalte A und den angehàngten Code in eine leere Userform.

Andreas.

Private Sub UserForm_Initialize()
Dim R As Range
Dim C As Control
Dim Y As Long
For Each R In Intersect(Columns(1), ActiveSheet.UsedRange)
If Not IsEmpty(R) Then
Set C = Me.Controls.Add("Forms.Checkbox.1")
C.Top = Y
Y = Y + C.Height
C.Caption = R
End If
Next
End Sub

Ähnliche fragen