ich habe für ein Projekt eine Excel Tabelle erstellt, in der Neue Zeilen per UserForm hinzugefügt werden sollen und in einem anderen Tabellenblatt diese Zeile mit einer Checkbox markiert werden kann. Die Markierung erfolgt durch das Verknüpfen der Checkbox mit der entsprechenden Zelle in Spalte N der "Datentabelle". Soweit funktioniert auch alles, das Problem ist nur, dass wenn ich mit der UserForm mehrere Zeilen nacheinander hinzufüge, in jedem Durchlauf eine Checkbox für alle vorigen Zeilen "übereinander" gelegt werden - sprich, angenommen ich füge "NeueZeile1", "NeueZeile2" und "NeueZeile3" hinzu, dann würden in der ersten Zeile eine Checkbox mit dem Namen "NeueZeile1", in der zweiten Zeile ebenfalls die Checkbox für "NeueZeile1" und eine für "NeueZeile2" über der ersten Checkbox und in der dritten Zeile würde zusätzlich eine Checkbox für "NeueZeile3" über den ersten beiden Checkboxen liegen. Jeweils die Checkboxen für eine Zeile sind auch miteinander verknüpft, sprich, wenn ich eine markiere sind direkt auch die anderen für die entsprechende Zeile markiert.
Hier mal der Code aus dem VBA, anhand dessen das Hinzufügen geschieht, ich bitte um Verständnis, dass ich hier möglichst neutral bleiben möchte:
Dim last As Integer
last = Worksheets("Tabelle").Cells(Rows.Count, 1).End(xlUp).Row + 1
Worksheets("Tabelle").Activate
Set Box = ActiveSheet.CheckBoxes.Add(10, 10, 100, 10)
With Box
.Characters.Text = UserForm.Textbox.Value
.LinkedCell = "Tabelle!N" & last
.Top = Range("A" & last_line).Top
.Left = Range("A" & last_line).Left
End With
Unload UserForm
End Sub
Ich verstehe jetzt überhaupt nicht, warum da quasi diese Schleife durchgegangen wird und für sämtliche vorher erstellten Zeilen auch eine neue Checkbox erstellt wird. Der Fehler taucht nicht auf, wenn eine Zeile hinzugefügt wird, das Dokument geschlossen wird und anschließend erneut eine Zeile hinzugefügt wird.
Für jede Hilfe wäre ich sehr dankbar.
Beste Grüße,
Thomas