Nur gefilterte Daten kopieren

Nur gefilterte Daten einer Liste
bzw. Intelligenten Tabelle kopieren

In diesem Arbeitsblatt ist für ein Projekt vermerkt, an welchem Arbeitstag ein bestimmter Mitarbeiter wieviel Zeit sie oder er dafür aufgewendet hat. Die Werte wurden unregelmäßig eingegeben, darum herrscht dort auch ein leichtes Durcheinander. (Der wahre Hintergrund: Die Liste wurde mit Zufallszahlen ausgefüllt und anschließend Als Wert kopiert.)

Das Ziel: Die Liste soll gefiltert werden und beginnend in F1:H1 sollen (unterhalb der Überschrift) nur die gefilterten Werte kopiert werden. Beispiel einer Fragestellung: Wer hat in den ersten 5 Tagen wie viele Stunden an dem Projekt gearbeitet? Es sollen (mit Ausnahme der Zahlen-Formatierungen) die Werte kopiert werden, keine Pivot-Auswertung oder formeltechnische Lösung!

Ach ja, die Spalte D wird nicht ausgewertet. Sie hat einerseits den Zweck Ihnen zu zeigen, dass nicht immer die komplette gefilterte Liste kopiert werden muss und enthält auch einen kleinen Fingerzeig, wie Sie besonders arbeitsame Mitarbeiter (mehr als 8 Stunden an 1 Tag gearbeitet) hervorheben können.

Plain Excel

Das Ziel ist beschrieben. Und der Weg dort hin hört sich eigentlich ganz einfach an, aber probieren Sie es gerne selbst einmal aus … Wir schlagen diesen Weg vor:

  • Erforderlichenfalls die Aufstellung zu einer Liste Intelligenten Tabelle machen (ist in der vorgegebenen Datei bereits geschehen).
  • Die ersten drei Spalten der Liste ab Zeile 2 markieren. Das geht (bei einer Intelligenten Tabelle) sehr schön so:
    • Zeigen Sie auf den oberen Rand der Überschrift in A1:

    In einer Liste bequem eine Spalte markieren

    In einer Liste bequem eine Spalte markieren

    • Klick mit der linken Maustaste.
    • Bei gedrückter Maustaste bis Spalte C ziehen, dann los lassen.
  • Arbeits-Tag per Zahlenfilter auf <6 oder <=5 filtern.
  • Vergleichen Sie anschließend bitte mit dieser Abbildung:

Die gefilterten daten

Die gefilterten Daten

  • F5 oder StrgG. Dort auf Inhalte… klicken.
  • Im Folge-Fenster markieren Sie Nur Sichtbare Zellen:

Bequem nur sichtbare Zellen des Bereichs auswählen

Bequem nur sichtbare Zellen des Bereichs auswählen

  • Nach dem OK StrgC oder Kopieren.
  • Den Filter aus Arbeits-Tag entfernen, damit F3 sichtbar wird.
  • F3 anklicken und StrgV oder nach Belieben Einfügen. Eventuelle Tabellen-Formatierungen können Sie noch entfernen.

▲ nach oben …

VBA

Das Ganze lässt sich (natürlich) auch per VBA durchführen. Das ist aber naturgemäß etwas starrer, weil die Variablen ja fest gecodete Werte haben und auch nicht „mal so eben“ ein einzelner Mitarbeiter gefiltert und kopiert werden kann. Daher sind die Einsatzgebiete durchaus differenziert zu sehen, wenn auch jede Vorgehensweise ihre Vorteile hat. So ließe sich leicht per InputBox die Anzahl der Tage abfragen, etc. – Hier bleiben wir bei der oben beschriebenen Vorgabe von den ersten fünf Tagen und hier nun der entsprechende Code:

Sub NurGefilterteKopieren()
   Dim tblRow1 As Integer, lRow As Integer
   Dim tblName As String
   
   tblName = "tbl_Projekt_Zeiten"   'Der Name wurde so (von uns) vergeben
   tblRow1 = Range(tblName).Row     'Erste Zeilennummer muss ja nicht 1 sein
   With ListObjects(tblName)
      lRow = .ListRows.Count + 1    'Wegen der Überschrift
      .Range.AutoFilter Field:=1, Criteria1:="<6"
      Range("A" & tblRow1 - 1 & ":C" & lRow).Copy
      'Filter entfernen, alle wieder anzeigen
      Range("F1").PasteSpecial xlPasteAllExceptBorders
      .Range.AutoFilter Field:=1
   End With
   Columns("F:H").EntireColumn.AutoFit
   Range("F1").Select   'Des Aussehens wegen
End Sub

▲ nach oben …

Dieser Beitrag wurde unter Mit VBA/Makro, Musterlösungen, Ohne Makro/VBA, Tabelle und Zelle, Wege nach Rom abgelegt und mit , , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.