Anzeige
Archiv - Navigation
804to808
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
804to808
804to808
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Userform dynamisch erstellen
29.09.2006 12:15:04
Bernd
Hallo Excel-Freunde
Ich versuche eine Userform dynamisch mit comboboxen zu bestücken
Die_Sub die das tun soll seht Ihr hier:

Sub hinzufügen()
Dim CBox As MSForms.ComboBox
Dim box As Object
Dim i As Integer
For Each box In UserForm1.Controls
If TypeName(box) = "ComboBox" Then
i = i + 1
End If
Next box
Load UserForm1
Set CBox = UserForm1.Controls.Add("Forms.ComboBox." & i, , True)
With CBox
.Left = 20
.Top = 60 + 10 * i
.Width = 100
.Height = 20
.Name = "ComboBox" & i
.AddItem "test"
End With
UserForm1.Show
End Sub

Beim ersten Aufruf der_Sub wird eine Combobox eingefügt beim zweiten Aufruf
erscheint die Fehlermeldung "Ungültige Klassenzeichenfolge".
Bin wie immer für alle Anregungen und Tips dankbar.
Gruss Bernd

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Userform dynamisch erstellen
29.09.2006 12:46:47
Heiko
Hallo Bernd,
ungetestet, aber diese Zeile solltest du ändern:
Set CBox = UserForm1.Controls.Add("Forms.ComboBox." & i, , True)
und zwar so:
Set CBox = UserForm1.Controls.Add("Forms.ComboBox.1", , True)
Denn die 1 hinter Combobox hat nichts mit der Nummerierung der ComboBoxen zu tun.
Gruß Heiko
PS: Rückmeldung wäre nett !
AW: Userform dynamisch erstellen
29.09.2006 13:07:19
Bernd
Danke Heiko schon viel besser
Falls sonst noch jemand ein snippet hat bei dem durch eine Benutzereingabe ein Objekt in eine Userform eingefügt wird würde ich mich trotzdem freuen
Gruss Bernd
AW: Userform dynamisch erstellen
29.09.2006 13:06:32
Uwe
Hi Bernd,
noch mal ein ungetesteter Schnellschuss:
Setze das
Next box
ans Ende, vor das Userform1.Show.
Sonst läuft die Schleife immer bis zum Ende und dann wird immer die Combobox mit der höchsten Nummer generiert!? Vielleicht?!!
Gruß
Uwe
(:o)
Anzeige
AW: Userform dynamisch erstellen
29.09.2006 16:18:11
Bernd
Hallo Uwe
Die Schleife soll blos wiedergeben wieviele Comboboxen schon in der userform enthalten sind
egal mein Code sieht jetz folgendermasen aus und funktioniert auch soweit

Sub hinzufügen(s As String)
Dim CBox As MSForms.ComboBox
Dim box As Object
Dim i As Integer
i = 1
For Each box In UserForm1.Controls
If TypeName(box) = "ComboBox" Then
i = i + 1
End If
Next box
Load UserForm1
Set CBox = UserForm1.Controls.Add("Forms.ComboBox.1", , True)
With CBox
.Left = 80
.Top = 60 + 20 * i
.Width = 100
.Height = 20
.Name = "ComboBox" & i
.AddItem "test"
End With
If i = 1 Then
UserForm1.Show
End If
End Sub

Wie kann ich jetzt den erstellten Comboboxen eine

Sub wie Combobox_change zuweisen?
Ich weis irgendjemand von euch weis wie das geht
Gruss Bernd

Anzeige
AW: Userform dynamisch erstellen
29.09.2006 19:35:47
Herbert
Hi,
das geht nur mit einem Klassenmodul, für deinen Kenntnisstand starker Stoff.
Du findest dazu was in der Recherche(Stichwort: Nepumuk).
mfg Herbert
AW: Userform dynamisch erstellen
01.10.2006 12:29:54
Bernd
Hallo Herbert
Danke für den Tip
Gruss Bernd

20 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige