Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
376to380
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
376to380
376to380
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Checkbox automatisch in UserForm

Checkbox automatisch in UserForm
07.02.2004 22:02:15
Mike
Hallo,
ich habe schon lange gesucht, aber nichts gefunden.
In einer Tabelle habe ich mehrere Werte untereinander stehen. Sie werden aus einer anderen Datei eingelesen. Die Anzahl und die Werte sind variabel. Das ist im Grunde das Problem. Ich möchte nun von diesen Werten jeweils eine Checkbox in einer UserForm darstellen lassen. Wenn möglich, soll sich die Größe der Userorm automatisch anpassen. Bei Auswahl der Checkboxen benötige ich die Ausgabe-Werte wieder für ein seperates Projekt. Das sollte ich dann aber hinbekommen.
Wie immer im Voraus Danke für Eure Antworten!
Gruß
Mike

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Checkbox automatisch in UserForm
07.02.2004 22:13:52
Ramses
Hallo Mike
nur mal so einen Ansatz wie dynamisch gefüllt werden kann.


Private Sub UserForm_Initialize()
'Variablen setzen
Dim plTop As Integer, plHeight As Integer, plWidth As Integer, plLeft As Integer
Dim ufHeigth As Integer, ufWidth As Integer
Dim hSpace As Integer, vSpace As Integer
Dim As Integer, n As Integer
Dim MyCtrl As Control
Dim txtBox1 As Integer, txtBox2 As Integer
'Userform erstellen
vSpace = 5
hSpace = 5
plTop = 5
plWidth = 50
plHeight = 15
plLeft = 10
'userformgrösse abfragen
txtBox1 = InputBox("Wieviele Textboxen möchten Sie erstellen", "Initialisierung", 50)
If txtBox1 Mod 10 <> 0 Then
    MsgBox "auf die Schnelle nur mit geraden Zahlen"
    Exit Sub
End If
If txtBox > 100 Then
    MsgBox "Soviele sollten es nicht sein ;-)"
    Exit Sub
End If
txtBox2 = InputBox("Wieviele Textboxen sollen untereinander stehen", "Initialisierung", Int(txtBox1 / 5))
If txtBox > txtBox1 Then
    MsgBox "Das sind mehr als erstellt werden sollen ;-)"
    Exit Sub
End If
ufHeigth = ((txtBox2 * plHeight) + ((txtBox2 * vSpace) + (4 * vSpace))) + 40
ufWidth = (Int((txtBox1 / 10)) * plWidth) + (Int((txtBox1 / 10)) * 10) + (4 * hSpace)
Debug.Print "Höhe: " & ufHeigth
Me.Height = ufHeigth
Me.Width = ufWidth
For i = 1 To (txtBox1 / txtBox2)
    For n = 1 To txtBox2
        Set MyCtrl = Controls.Add("Forms.Textbox.1")
        MyCtrl.Left = plLeft
        MyCtrl.Top = plTop
        MyCtrl.Width = plWidth
        MyCtrl.Height = plHeight
        MyCtrl.Name = "Textbox" & i
        plTop = plTop + plHeight + 5
    Next n
    plTop = 5
    plLeft = plLeft + plWidth + hSpace
Next i
'Schaltfläche hinzufügen
Debug.Print "Top: " & ufHeigth - (2 * plHeight + 20)
Set MyCtrl = Controls.Add("Forms.textbox.1")
MyCtrl.Left = 2 * vSpace
MyCtrl.Top = ufHeigth - (2 * plHeight + 20)
MyCtrl.Width = (3 * plWidth) + (2 * plWidth)
MyCtrl.Height = plHeight
MyCtrl.Name = "txtLabel" & i
MyCtrl.Value = "That's real VBA Life ;-)"
End Sub

     Code eingefügt mit Syntaxhighlighter 2.5


Das kannst du sicher anpassen.
Gruss Rainer
Anzeige

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige