Hallo Hadonis,
zunächst mal bietet dein Checkbox-Ereignis kein Target Objekt an. Deshalb funktioniert dein Union-Befehl nicht.
Du kannst ein solches Objekt aber selbst setzen indem du deinem Code z.B. folgende Zeile hinzufügst.
Set Target = Checkbox21.TopLeftCell
Damit sollte dein Union-Befehl funktionieren. Da du jedoch Wert auf die Reihenfolge legst, macht dieser so keinen Sinn. Vielmehr musst du die 3 Zellen einzeln kopieren und einfügen, da die Zielreihenfolge komplett anders ist als die Ausgangsreihenfolge.
Cells(Target.Row, 10).Copy -> Cells(Zeile, 1).Paste
Cells(Target.Row, 11).Copy -> Cells(Zeile, 3).Paste
Cells(Target.Row, 8).Copy -> Cells(Zeile, 4).Paste
In welcher Zeile das nun aber eingefügt werden soll hab ich noch nicht so ganz verstanden. Soll das nun in die erste leere Zeile (immer unterhalb der Tabelle!) oder mittendrin eingefügt werden? Ich vermute du willst keine Leerzeilen zwischen den Werten der Zieltabelle haben. Also benötigts du noch den Befehl "Zeile einfügen". Aber wo soll diese eingefügt werden? Was machst du z.B. wenn die zu kopierende Zeile schon in der Zieltabelle existiert? Man könnte ja die Checkbox auch deaktivieren und später neu aktivieren. Wenn die Daten nun in der Zieltabelle in einer anderen Zeile stehen als in der Ausgangstabelle, wie willst du dem Code beibringen, zu prüfen, ob die Daten bereits vorhanden sind?
Mr. K.
|