Gefilterte Zeilen automatisch verschieben

Hallo,

ich habe hier eine Aktionsliste. In einer Spalte werden Aktionen nach Stand der Aktion farblich markiert. Erledigte Aktionen sollen wöchentlich herausgefiltert und in ein neues „erledigt KW XX“ Registerblatt verschoben werden. Zu diesem Zwecke habe ich die Spalte mit einer bedingten Formatierung belegt. Bei Eingabe der Zahlen 1, 2, 3 färbt sich die entsprechende Zelle nun also in die entsprechende Farbe, so das ich am Ende nach der Zahl per AutoFilter suchen kann…

Nun hätte ich gerne ein Makro, welches mir ein neues Registerblatt einfügt, selbständig nach der Zahl 3 in in Spalte I filtert und dies Ergebnis ins neue Registerbaltt verschiebt. Mein Versuch dies per Makrorecorder aufzuzeichnen hat nicht wirklich geklappt…

Hat hier jemand eine Idee?

Sorry für die Romanlänge und schonmal Danke!

Gruß
Angela

SORRY! Falsches Forum, der Beitrag sollte eigentlich zum Thema Excel erscheinen. :frowning:

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Angela,

Kleiner Tipp: Wenn Du einen Beitrag/Frage im falschen Forum eingetragen hast, dann kannst du den Beitrag mit der Aktion „Artikel löschen“ rechts vom Beitrag löschen solange noch niemand geantwortet hat und dann den Beitrag im richtigen Forum eintragen.

Hallo,

ich habe hier eine Aktionsliste. In einer Spalte werden
Aktionen nach Stand der Aktion farblich markiert. Erledigte
Aktionen sollen wöchentlich herausgefiltert und in ein neues
„erledigt KW XX“ Registerblatt verschoben werden. Zu diesem
Zwecke habe ich die Spalte mit einer bedingten Formatierung
belegt. Bei Eingabe der Zahlen 1, 2, 3 färbt sich die
entsprechende Zelle nun also in die entsprechende Farbe, so
das ich am Ende nach der Zahl per AutoFilter suchen kann…

Nun hätte ich gerne ein Makro, welches mir ein neues
Registerblatt einfügt, selbständig nach der Zahl 3 in in
Spalte I filtert und dies Ergebnis ins neue Registerbaltt
verschiebt. Mein Versuch dies per Makrorecorder aufzuzeichnen
hat nicht wirklich geklappt…

Hat hier jemand eine Idee?

Sorry für die Romanlänge und schonmal Danke!

Die Romanlänge ist genau richtig, denn so weiß ich genau was du gerne möchtest.

Gruß
Angela

Es geht mit einem Aufzeichnungsmakro.
In meinem Beispiel stehen die Daten in der Tabelle „Aktionsliste“ ab Zeile 2 in den Spalten A bis F

Aufgezeichnete Aktionen
1. Tabelle mit Aktionen wird kopiert und umbenannt
 Dadurch sind später in der Ausgabetabelle auch alle Formate vorhanden
2. In der Kopie wird Auto-Filter deaktiviert
3. In der Kopie werden alle Daten außer Spalten-Titel markiert und gelöscht
 Dabei Zellen bis runter nach Zeile 65536 markieren!
4. Zelle A1 wird selektiert
5. In der Aktionsliste wird der Filter gesetzt
6. Die Spalten mit den Daten werden markieret und kopiert
7. Daten werden in der Ausgabetabelle als Werte eingefügt
8. Filter in Aktionsliste auf Alle setzen'

Sub FilterDaten\_in\_Tabelle()

' FilterDaten\_in\_Tabelle Makro
' Makro am 28.08.05 von FCS aufgezeichnet

'
 Sheets("Aktionsliste").Select
 Sheets("Aktionsliste").Copy Before:=Sheets(2)
 Sheets("Aktionsliste (2)").Select
 Sheets("Aktionsliste (2)").Name = "erledigt\_KW\_XX"
 Selection.AutoFilter
 Range("A2:F65536").Select '"A2" und "F" anpassen!
 Selection.ClearContents
 Range("A1").Select
 Sheets("Aktionsliste").Select
 Selection.AutoFilter Field:=1, Criteria1:="3" '"1" anpassen!
 Columns("A:F").Select '"F" anpassen an!
 Selection.Copy
 Sheets("erledigt\_KW\_XX").Select
 Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= \_
 False, Transpose:=False
 Application.CutCopyMode = False
 Range("A1").Select
 Sheets("Aktionsliste").Select
 Selection.AutoFilter Field:=1
 Range("A1").Select
End Sub


Dieses Makro kann man noch ein wenig optimieren
Dabei wird in einem Eingabedialog der Name der Ausgabe-Tabelle eingeben.
Für die Tabellennamen werden Variablen verwendet.


Sub FilterDaten\_in\_Tabelle\_optimiert()

' FilterDaten\_in\_Tabelle Makro
' Makro am 28.08.05 von FCS erstellt
'
 TabAktionen = "Aktionsliste" 'Name der Tabelle mit den Aktionen
 TabAusgabe = InputBox("Name Ausgabetabelle:", , "erledigt\_KW\_")
 If TabAusgabe = "" Then
 If MsgBox("Kopieraktion abbrechen", vbYesNo) = vbYes Then Exit Sub
 End If
 Sheets(TabAktionen).Select
 Sheets(TabAktionen).Copy Before:=Sheets(2)
 Sheets(TabAktionen & " (2)").Select
 Sheets(TabAktionen & " (2)").Name = TabAusgabe
 Selection.AutoFilter
 Range("A2:F65536").Select '"A2" und "F" anpassen!
 Selection.ClearContents
 Range("A1").Select
 Sheets(TabAktionen).Select
 Selection.AutoFilter Field:=1, Criteria1:="3" '"1" anpassen!
 Columns("A:F").Select '"F" anpassen an!
 Selection.Copy
 Sheets(TabAusgabe).Select
 Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= \_
 False, Transpose:=False
 Application.CutCopyMode = False
 Range("A1").Select
 Sheets(TabAktionen).Select
 Selection.AutoFilter Field:=1
 Range("A1").Select
End Sub

Gruß
Franz