AW: bedingte Formatierung
10.03.2008 17:59:04
fcs
Hallo Bernd,
die Trennung kann man sinnvoll machen, indem man in der Unerledigt-Liste einen oder mehrere als erledigt markiert (u in Spalte G einträgt) und anschließend die Einträge in die Erledigt-Liste kopiert und in der Unerledigt-Liste löscht.
Diesen Vorgang kann man per Makro automatisieren.
Nachfolgend das Grundmakro. Die Tabellennamen muss du noch anpassen.
Den Start des Makros kann man vereinfachen, indem man im Blatt "UnErledigt" eine entsprechende Schaltfläche aus der Symbolleiste Formular einbaut.
Die Erledigt-Tabelle muss du noch anlegen (Blatt "Alle" kopieren, umbenennen und alle Zeilen ab Nr. 6 löschen).
Gruß
Franz
Sub ErledegteRaus()
Dim wsUnerl As Worksheet, wsErl As Worksheet
Dim lZeileU As Long, lZeileE As Long
Set wsUnerl = Worksheets("Unerledigt")
Set wsErl = Worksheets("Erledigte")
'Letzte Zeile in erledigte ermitteln
With wsErl
lZeileE = Application.WorksheetFunction.Max(5, .Cells(.Rows.Count, 1).End(xlUp).Row)
End With
With wsUnerl
'Zeilen mit "u" nach Erledigt kopieren
For lZeileU = 6 To .Cells(.Rows.Count, 1).End(xlUp).Row
If .Cells(lZeileU, 7).Value = "u" Then
lZeileE = lZeileE + 1
.Rows(lZeileU).Copy Destination:=wsErl.Rows(lZeileE)
End If
Next
'Zeilen mit "u" in Unerledigt" löschen
For lZeileU = .Cells(.Rows.Count, 1).End(xlUp).Row + 1 To 6 Step -1
If .Cells(lZeileU, 7).Value = "u" Then
.Rows(lZeileU).Delete shift:=xlShiftUp
End If
Next
End With
End Sub