Verknüfpung von Kontrollkästchen mit Zelle(XL2007)

Hallo allerseits!

Stehe vor folgendem Problem:
In Spalte D meiner Tabelle hätte ich gerne rund 90 Kontrollkästchen, die jeweils mit der Zelle verknüpft sind in der sie sich befinden.
Grund: E18=WENN(D18=WAHR;C18;"") , es soll also durch einen Haken bestätigt werden, dass der jeweilig zugehörige Wert aus Spalte C in eine Summe (SUMME(E3:E89)) integriert werden darf.

Gibt es einen anderen Weg, als jedes Kästchen einzeln mit „seiner Zelle“ zu verknüpfen? Oder kann man sich eventuell sogar direkt auf die Kästchen beziehen, z.B. E18=WENN(kästchen18=WAHR;C18;"")?

Grüße,
Daniel

In Spalte D meiner Tabelle hätte ich gerne rund 90
Kontrollkästchen, die jeweils mit der Zelle verknüpft sind in
der sie sich befinden.
Grund: E18=WENN(D18=WAHR;C18;"") , es soll also durch einen
Haken bestätigt werden, dass der jeweilig zugehörige Wert aus
Spalte C in eine Summe (SUMME(E3:E89)) integriert werden darf.

Gibt es einen anderen Weg, als jedes Kästchen einzeln mit
„seiner Zelle“ zu verknüpfen? Oder kann man sich eventuell
sogar direkt auf die Kästchen beziehen, z.B.
E18=WENN(kästchen18=WAHR;C18;"")?

Hi Daniel,

es gibt schon die Möglichkeit jedes Kästchen ohne jedwede Zellverknüpfung auszuwerten aber probier mal dieses:

Alt+F11, Einfügen–Modul, Code reinkopieren, Editor Schließen.
Über alt+F8 das Makro „kontroll“ ausführen lassen…

Sub Kontroll()
Dim S As Object, Zei As Long, L, T, W, H
Application.ScreenUpdating = False
Columns(4).ClearContents
For Each S In ActiveSheet.Shapes
 If S.Name Like "myKontroll\*" Then S.Delete
Next S
L = Range("D1").Left
W = 14
H = 14
Range("E3:e89").FormulaLocal = "=WENN(D3=WAHR;C3;"""")"
For Zei = 3 To 89
 T = Range("D" & Zei).Top
 Set S = ActiveSheet.OLEObjects.Add(ClassType:="Forms.CheckBox.1", Link:=False, \_
 DisplayAsIcon:=False, Left:=L, Top:=T, Width:=W, Height:=H)
 With S
 .Name = "myKontroll" & Zei
 .LinkedCell = "D" & Zei
 .Object.Value = False
 End With
Next Zei
Application.ScreenUpdating = True
End Sub

Gruß
Reinhard

Super, das klapt. Danke Reinhard!

Hi Daniel,

es gibt schon die Möglichkeit jedes Kästchen ohne jedwede
Zellverknüpfung auszuwerten aber probier mal dieses:

Die Möglichkeit sich auf ein einzelnes Kästchen direkt zu beziehen würde mich allerdings auch interessieren. Das könnte sicherlich einmal nützlich sein.

Alt+F11, Einfügen–Modul, Code reinkopieren, Editor Schließen.
Über alt+F8 das Makro „kontroll“ ausführen lassen…

Sub Kontroll()
Dim S As Object, Zei As Long, L, T, W, H
Application.ScreenUpdating = False
Columns(4).ClearContents
For Each S In ActiveSheet.Shapes
If S.Name Like „myKontroll*“ Then S.Delete
Next S
L = Range(„D1“).Left
W = 14
H = 14
Range(„E3:e89“).FormulaLocal = „=WENN(D3=WAHR;C3;“""")"
For Zei = 3 To 89
T = Range(„D“ & Zei).Top
Set S =
ActiveSheet.OLEObjects.Add(ClassType:=„Forms.CheckBox.1“,
Link:=False, _
DisplayAsIcon:=False, Left:=L, Top:=T, Width:=W,
Height:=H)
With S
.Name = „myKontroll“ & Zei
.LinkedCell = „D“ & Zei
.Object.Value = False
End With
Next Zei
Application.ScreenUpdating = True
End Sub

Gruß
Reinhard

es gibt schon die Möglichkeit jedes Kästchen ohne jedwede
Zellverknüpfung auszuwerten aber probier mal dieses:

Die Möglichkeit sich auf ein einzelnes Kästchen direkt zu
beziehen würde mich allerdings auch interessieren. Das könnte
sicherlich einmal nützlich sein.

Hi Daniel,

du müßtest ein Klassenmodul basteln was auf die Checkboxen „reagiert“.

leider bin ich in Klassenmodulen nicht so fit als daß ich das jetzt mal kurz basteln könnte:frowning:

Besorg dir Infos über Klassenmodule in Büchern oder übers Internet.

Gruß
Reinhard