Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1056to1060
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
Inhaltsverzeichnis

Dynamische Erstellung von Checkboxen in eine Form

Dynamische Erstellung von Checkboxen in eine Form
05.03.2009 15:53:00
Checkboxen
Hallo Excel Gemeinde,
ich möchte gerne je nach Anzahl der Datei in einen Verzeichnis, automatisch
neue Checkboxen in einen Form erzeugen.
Ich habe schon einen kleinen Code der mir die Dateien zählt und dann
eine Checkbox erzeugen soll.
Das Problem im Moment ist , das ich nur eien Checkbox erzeugt bekomme,
und diese keine Bezeichnung hat.
Meien Frage die sich stellt wie gehe ich das ganze denn am besten an, und wie definiere
ich den die Position der Checkbox?

Public Sub test()
Dim NewCheckBox As MSForms.CheckBox
Dim X As Integer
Dim lngNextTop As Long
Dim DateiZahl As String
Dim i As Integer
i = 0
lngNextTop = 10
DateiZahl = Dir$("c:\test\*.xls")
Do While DateiZahl  ""
If Not IsEmpty(DateiZahl) Then
i = i + 1
DateiZahl = Dir$()
End If
Loop
For X = 1 To i
'Create Check Boxes
Set NewCheckBox = Me.Controls.Add("Forms.checkbox.1")
With NewCheckBox
.Name = "MyCheck" & x
.Caption = "FB" & x
.Top = lngNextTop + 14
.Left = 10
.Width = 12
.Height = 14
.Font.Size = 7
.Font.Name = "Tahoma"
.BackColor = &HFF00&
.Value = True
NewCheckBox.Name = "FB" & x
End With
Next
End Sub


Gruß Jörg

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dynamische Erstellung von Checkboxen in eine Form
05.03.2009 17:39:36
Checkboxen
Hallo
"..und wie definiere ich den die Position der Checkbox?..."
Hast du doch schon gemacht im Code !?
Warum fragst du ?
top, Left usw.
Und wenn du die Checkboxen zur Laufzeit erzeugst, was soll dann passieren wenn angeklickt ?
Dort ist kein Code dahinter, und den zur Laufzeit einfügen geht nicht.
Dazu musst du Klassen programmieren. Da denke ich bei deinem level bist du etwas überfordert.
Für was sollen die Checkboxen letztendlich denn verwendet werden ?
Gruss Rainer
AW: Dynamische Erstellung von Checkboxen in eine Form
17.03.2009 09:13:49
Checkboxen
Hallo ,
sorry für die verspätete Antwort.
Hintergrund ist folgender:
Ich habe ein Verzeichnis in dem eine Anzahl von Exceldateien als Vorlage zum Import abliegen.
Nun möchte ich Automatisch wenn das Userform initialisert wird, in einer Multipage ,mir für jede
Datei eine Checkbox erzeugen. Die Checkbox soll als Caption immer den Dateinamen
erhalten. Bei eine direkten anwählen der Checkbox passiert nichts, da ich erst später die
aktiverierten Checkboxen abfrage und mir aus der Caption dann die
enstprechende Datei importiere.
Das Problem ist das ich die schleife nur einmal durchlaufen wird, obwohl ich 10 Dateien in diesen
Verzeichnis habe, und ich die erzeugte Chekcbox nicht der Multipage zuweisen kann.
Gruss Jörg
Anzeige
AW: Alternativ eine Listbox verwenden
06.03.2009 00:35:39
Daniel
Hi
Steuerelemente zur Laufzeit erstellen, mit Code versehen und anschließend noch auszuwerten ist seeeehr komplex.
da würde ich die Finger von lassen.
wenn die Checkboxen sowieso direkt untereinander stehen sollen, dann kannst du auch anstelle der vielen Checkboxen EINE Listbox verwendest, in die die Bezeichnungen reinschreibst. (mit AddItem)
diese Listbox kannst viel einfacher handeln und auswerten, als eine unbestimmte Menge von Checkboxen.
da die Listbox schon besteht, kannst du viele Eigenschaften auch direkt im Eigenschaftsfenster der Listbox festlegen und musst diese nicht programmieren.
Wenn du folgende Eigenschaften der Listbox setzt, sieht sie auch fast so aus wie eine Sammlung von Checkboxen:
- ListStyle - 1 - fmListStyleOption
- Multiselect - 1 - fmMultiSelectMulti
- SpecialEffect - 0 - fmSpecialEffectFlat
Gruß, Daniel
Anzeige

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige