Ich hab da einen kleinen Kommentar noch zu geschrieben. Hoffe
das
http://www.file-upload.net/download-3164529/Verteile…
.html
Hallo Steffen,
deine Kontrollkästchen sind durcheinandergeraten mit ihrem Index, das bringt langfristig nur Ärger, besser ist es sie von oben nach unten durchzunummerieren.
Dafür dient(e) das erste Makro, damit kannst du auch gleich die Positionen, Größe, Text, Wahr/Falsch für den Strat festlegen.
Die Größe des Quadrats wo das Kreus nachher erscheint kannst du nicht direkt bestimmen.
Du kannst die Größe und Position des ganzen Kontrollfeldes festlegen.
Da du scheinbar noch beim Entwickeln bist, mit dem maro kannst du leicht andere Werte/Positionen austesten wie sie dann optisch wirken.
Wenn alles fertig ist kannste ja ggfs. das Makro löschen.
Die zwei nachfolgenden Codes dienen dazu die Auswertung in F auch mit Makros zu erledigen.
Willst du die Auswertung in F auch gleich immer per Makro machen, müssen halt immer bei Mappenstart die Makros aktiviert werden, außer du zertifizierst dich selbst, dazu gibt es im Archiv einiges, Stichwort selfcert.
Code in ein Standardmodul, das hast du ja schon.
Sub PositionGroesse()
Dim CB As OLEObject, Zei As Long
With Worksheets("Tabelle1")
For Zei = 1 To .OLEObjects.Count
With .OLEObjects(Zei)
.Object.Caption = ""
.Left = 45
.Top = Cells(Zei + 3, 1).Top + 7
.Height = 10
.Width = 10
.LinkedCell = "" 'Cells(Zei + 3, 2).Address(0, 0)
.Object.Value = False
End With
Next Zei
End With
End Sub
Diesen Code auch in das Standardmodul:
Sub VerteilerAkualisieren()
Dim N As Long, ZeiF As Long
With Worksheets("Tabelle1")
Range("F4:F100").ClearContents
For N = 1 To .OLEObjects.Count
If .OLEObjects(N).Object.Value = True Then
.Cells(4 + ZeiF, 6).Value = .OLEObjects(N).TopLeftCell.Text
ZeiF = ZeiF + 1
End If
Next N
End With
End Sub
Diesen Code in das Modul „Tabelle1“
Private Sub CheckBox1\_Click()
Call VerteilerAkualisieren
End Sub
Private Sub CheckBox2\_Click()
Call VerteilerAkualisieren
End Sub
Private Sub CheckBox3\_Click()
Call VerteilerAkualisieren
End Sub
Private Sub CheckBox4\_Click()
Call VerteilerAkualisieren
End Sub
Private Sub CheckBox5\_Click()
Call VerteilerAkualisieren
End Sub
Private Sub CheckBox6\_Click()
Call VerteilerAkualisieren
End Sub
Private Sub CheckBox7\_Click()
Call VerteilerAkualisieren
End Sub
Private Sub CheckBox8\_Click()
Call VerteilerAkualisieren
End Sub
Gruß
Reinhard