Erweiterung evtl. Hajo ?
walli
habe das unten stehende Makro von Hajo erhlaten.
Das funktioniert alles bestens !
Nun möchte ich gern in der Darstellung der UF Checkboxen einiges
anpassen.
1. Wie kann ich die CB von oben nach unten nummerisch Durchnummerieren ?
2. Wie kann ich vielleicht auch dann nebeneinander z.b. 4 CB Reihen darstellen ?
Vielleicht kann man mir das mit Beschreibung darstellen, damit ich es auch verstehe
und für späteren Bedarf selbst erstellen kann !
DANKE im Voraus,
mfg Walli
Private Sub UserForm_Activate()
'* 12.05.10 *
'* erstellt von Karin, http://beverly.excelhost.de*
'* beverly@excelhost.de *
Dim obj_chk As MSForms.CheckBox ' Variable für Objekt _
Checkbox
Dim LoJ As Long
Dim LoK As Long
Dim LoI As Long
Dim loZaehler As Long
Dim InI As Integer
Dim Razelle As Range
' Bildschirmaktualisierung ausschalten
Application.ScreenUpdating = False
LoJ = 0
LoK = 5
InI = 0
loZaehler = 0
' Schleife über die Einträge
' For LoI = 1 To 16 ' 16 Spalten Orginal
' Schleife über die Einträge
' -1 da erst in Spalte B begonnen wird
For LoI = 1 To IIf(IsEmpty(Cells(2, Columns.Count)), _
Cells(2, Columns.Count).End(xlToLeft).Column, Columns.Count) - 1
Set obj_chk = Me.Controls.Add("Forms.checkbox.1", "Checkbox" & LoI, True)
' Eigenschaften der erstellten Checkbox zuweisen
With obj_chk
If LoK = 5 Then
.Left = 30 ' Position links
LoK = 0
' LoK = 5 'Hier dannwird 1 Reihe gesetzt
Else
.Left = 160 ' 120 ' Position links
LoK = 5
End If
.Top = 35 + 30 * loZaehler + 1 ' Position oben
.Width = 150 ' Breite 150
.Height = 25 ' Höhe 25
.Tag = LoI + 1 ' Spalte
.Caption = Worksheets("Tabelle3").Cells(2, LoI + 1) ' Beschriftung aus ZEile 2 _
und Spalte Loi+1
.Value = Worksheets("Tabelle3").Columns(LoI + 1).Hidden ' vom 14.0510 Hidden-Status _
Spalte
End With
ReDim Preserve COption(0 To InI) ' Neudimensionierung des Array
Set COption(InI).CheckBox = obj_chk ' CheckBox zur Klasse _
zusammenfassen
InI = InI + 1 ' Zähler für das Array
LoJ = LoJ + 1
If LoK = 5 Then loZaehler = loZaehler + 1
Next LoI
loZaehler = loZaehler + 1
If LoJ Mod 2 = 0 Then loZaehler = loZaehler - 1
If loZaehler