AW: Kontrollkästchen
01.03.2012 19:39:12
Beverly
Hi Ernst,
zuerst einmal musst du alle Werte auslesen, z.B. mit diesem prinzipiellen Code:
Sub WerteAuslesen()
Dim lngZeile As Long
Dim chkElement As CheckBox
lngZeile = 1
For Each chkElement In ActiveSheet.CheckBoxes
Cells(lngZeile, 5) = chkElement.Name
Cells(lngZeile, 6) = chkElement.Top
Cells(lngZeile, 7) = chkElement.Left
Cells(lngZeile, 8) = chkElement.Width
Cells(lngZeile, 9) = chkElement.Height
lngZeile = lngZeile + 1
Next chkElement
End Sub
Die Kontrollkästchen befinden sich hierbei im selben Tabellenblatt, in das auch ihre Werte ausgelesen werden - hier in die Spalten E bis H ab Zeile 1.
Und für das Öffnen der Arbeitsmappe dann diesen Code:
Private Sub Workbook_Open()
Dim lngZeile As Long
For lngZeile = 1 To Worksheets("Tabelle1").CheckBoxes.Count
With Worksheets("Tabelle1").CheckBoxes(Worksheets("Tabelle1").Cells(lngZeile, 5).Value)
.Top = Worksheets("Tabelle1").Cells(lngZeile, 6)
.Left = Worksheets("Tabelle1").Cells(lngZeile, 7)
.Width = Worksheets("Tabelle1").Cells(lngZeile, 8)
.Height = Worksheets("Tabelle1").Cells(lngZeile, 9)
End With
Next lngZeile
End Sub
Den Namen des Tabellenblattes, in welches du die Werte geschrieben hasst und des Tabellenblattes, in dem sich die Kontrollkästchen befinden, musst du natürlich entsprechend anpassen. Ich bin in meinem Beispielcode davon ausgegangen, dass sich die Kontrollkästchen in Tabelle1 befinden und auch die Werte in Tabelle1 eingetragen wurden.