Clever-Excel-Forum

Normale Version: Mehrere unabhängige Checkboxen einfügen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

ich habe eine Personalübersicht in der angekreuzt werden soll, welche Dokumente zurückgekommen sind. Die einzelnen Checkboxen sollen auch in der gleichen Spalte mit einer anderen Zelle verknüpft werden. Dies habe ich über Zellverknüpfung (ohne $$) gemacht.

Da es sich um eine fortlaufende Liste handelt wollte ich nun die Zeilen wie bei Formeln nach unten ziehen. Dabei entsteht das Problem, dass dann immer alle Checkboxen angekreuzt werden und nicht nur die einzelne. Außerdem bleibt die Zellverknüpfung immer die gleiche.

Die Checkboxen sollen aber unabhängig von einander sein und auch einfach erweitern werden können.

Gibt es da eine Möglichkeit? Mit VB kenne ich mich leider nicht gut genug aus.

Das Beispiel habe ich auch als Datei angehängt.

Danke vorab für die Hilfe :)
Hi,

die Zellverknüpfung von Checkboxen ändert sich nicht relativ mit dem Kopieren.
Das kannst Du aber per Makro schnell erledigen.
Voraussetzung: Deine Checkboxen befinden sich alle innerhalb der Zelle - innerhalb heißt: Wenn sie markiert ist, dann muss die Markierung innerhalb der Zellgrenzen sein (das ist in der Beispielmappe aktuell nicht der Fall!).
Das ist wichtig für den folgenden Code, der die TopLeftCell-Eigenschaft nutzt - also ermittelt, in welcher Zelle die obere linke Grenze der Checkbox ist. Darauf aufbauend fügt er dann für jede Checkbox die Zellverknüpfungen 8 Spalten weiter rechts ein.

Also: Füge alle Checkboxen ein (müssen innerhalb der Zelle sein!) und lass danach folgenden Code laufen:

Code:
Sub linkedCell()
Dim cB As CheckBox
For Each cB In Tabelle1.CheckBoxes
    cB.linkedCell = cB.TopLeftCell.Offset(0, 8).Address
Next cB
End Sub

[Edit]: Am Schnellsten erzeugst Du alle Checkboxen, indem Du sie in einer einzigen Zelle korrekt ausrichtest (so wie beschrieben - innerhalb der Zellgrenzen) und Du dann diese Zelle kopierst und in alle anderen Zellen einfügst. Danach dann den Code starten.
Hi Boris,

vielen Dank! Genau das habe ich gebraucht :)