ich versuche eine Art Kanban-Board zu erstellen. Dabei habe ich in einem Tabellenblatt ("Backlog") eine Tabelle mit Datensätzen. Aus dieser Tabelle sollen, wenn bestimmte Bedingungen erfüllt sind (derzeit eine, es kommen jedoch noch welche dazu), die IDs der Datensätze kopiert werden und jeweils in die Spalte E des Tabellenblattes ("Kanban") eingefügt werden. Jedoch nicht direkt untereinander, sondern mit drei Zeilen Platz dazwischen.
Dafür habe ich folgenden Code gebastelt:
Dim i%
Dim j%
Dim x%
With Sheets("Backlog")
j = 9
For i = 5 To 100
If Worksheets("Kanban").Cells(j, 5) = "" Then
If .Cells(i, 12) = "To-Do" Then
.Cells(i, 4).Copy Destination:=Worksheets("Kanban").Cells(j, 5)
End If
Else
If .Cells(i, 12) = "To-Do" Then
.Cells(i, 4).Copy Destination:=Worksheets("Kanban").Cells(j + 3, 5)
End If
End If
Next
End With
i bezieht sich auf das Tabellenblatt "Backlog", wo sich die IDs befinden und j bezieht sich auf das Tabellenblatt "Kanban", wo die IDs eingefügt werden sollen.
Was mache ich in dem Code? Ich prüfe ob im Tabellenblatt "Kanban", die erste Zelle leer ist. Ist dies der Fall wird die erste gefundene ID aus dem Arbeitsblatt "Backlog" in die leere Zelle eingefügt (unter der Bedingung, dass in der Spalte L neben der ID "To-Do" steht).
Ist die Zelle im Tabellenblatt "Kanban" nicht frei, soll 4 Zeilen nach unten gesprungen werden und wieder geprüft werden, ob die Zelle leer ist. Ist das der Fall, soll die ID dort eingefügt werden.
Das soll dann mit jeder ID gemacht werden, die im Tabellenblatt "Backlog" gefunden wird.
Obwohl es in meinen Beispiel-Datensätzen 4 IDs gibt, die die Bedingungen erfüllen, wird lediglich das erste und letzte Ergebnis kopiert und in "Kanban" eingefügt.
Ich vermute mir fehlt eine weitere Schleife. Ich habe versucht für j ebenfalls eine einzusetzen...das hat jedoch nicht funktioniert.
Kann mir jemand helfen? Anbei auch eine Beispieldatei.