Guten Morgen,
ich habe eine To-Do Liste mit 2 Tabellenblättern.
im ersten Tabellenblatt "ToDo" gibt es Spalten von A bis H. In den Zeilen stehen Dinge wie Eingangsdatum, Kunde, Maßnahme, etc. In Spalte H ist der jeweilige Status. Dieser ist entweder "offen"," in Bearbeitung", "keine Umsetzung" oder "erledigt" (Auswahl durch Dropdown-Feld).
Ich hätte gerne, dass ich die kompletten Zeilen auf Knopfdruck mit einem Makro in das zweite Tabellenblatt "ErledigteFälle" kopiert und aus dem ersten gelöscht werden. Ich habe dies mit VBA gemacht. Nur leider kenne ich mich damit absolut gar nicht aus und habe lediglich verschiedene Codes aus dem Internet zusammenkopiert und versucht diese auf meinen Fall anzupassen. Klappt auch, bis auf eine Kleinigkeit. Meine Codes sehen so aus: (da ich mich nicht auskenne habe ich für die Kopie und die Löschung jeweils einen eigenen genommen).
Für die Kopie:
Sub BedingteKopieZeilen()
Dim Zeile As Long
Dim ZeileMax As Long
Dim i As Long
With Tabelle1
ZeileMax = .UsedRange.Rows.Count
n = 2
For Zeile = 2 To ZeileMax
If .Cells(Zeile, 8).Value = "erledigt" Then
.Rows(Zeile).Copy Destination:=Tabelle4.Rows(n)
n = n + 1
End If
Next Zeile
End With
End Sub
Und für die Löschung:
Public Sub bedingte_Zeilenloeschung()
lz = Cells(Rows.Count, 8).End(xlUp).Rows.Row
For t = lz To 4 Step -1
If Cells(t, 8).Value = "erledigt" Then
Rows(t).Delete Shift:=xlUp
End If
Next t
End Sub
Nun mein Problem:
Bei der Kopie schreibt es die Zeile immer in die 2. Zeile des 2. Tabellenblatts. Das liegt wohl an der Zeile "n=2" im ersten Code. Ich hätte aber gerne, dass immer in die erste freie Zeile des 2. Tabellenblatts kopiert wird. Ich denke dass ist für euch Profis bestimmt gar kein Problem den Code anzupassen. Wäre einer so lieb und könnte das für mich tun? Ggfs. wäre es auch super wenn zusätzlich noch die Fälle mit dem Status "keine Umstetzung" mit-integriert werden.
Bin um jede Hilfe dankbar.
Wünsche euch allen ein schönes Wochenende.
Dennis