Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Autofilter: Ergebnis kopieren per VBA

Autofilter: Ergebnis kopieren per VBA
Marc
Guten Morgen!
Aus einer Liste mit 9500 Einträgen bleiben nach dem Filtern ca 30 Einträge übrig, die mit geändertern Daten nochmals hinten an die Liste angehängt werden.
Gibt es eine Möglichkeit die gefilterten Zeilen als Block zu kopieren oder wenigstents die gefilterten Zeilen auszulesen, ohne alle Datenzeilen durchhecheln zu müssen?
Danke u. Gruß,
Marc
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: SpecialCells(xlCellTypeVisible)
09.01.2012 06:47:29
hary
Hallo Marc
mit:SpecialCells(xlCellTypeVisible).
Bereich anpassen.

Range("A:C").SpecialCells(xlCellTypeVisible).Copy

gruss hary
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Autofilter: Ergebnisse kopieren mit VBA


Schritt-für-Schritt-Anleitung

Um gefilterte Daten in Excel zu kopieren, kannst Du VBA verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und lade die Tabelle, die Du filtern möchtest.

  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Füge ein neues Modul hinzu: Klicke mit der rechten Maustaste auf „VBAProject (DeinWorkbookName)“ > Einfügen > Modul.

  4. Kopiere den folgenden VBA-Code in das Modul:

    Sub KopiereGefilterteDaten()
       Dim ws As Worksheet
       Set ws = ThisWorkbook.Sheets("DeinTabellenblattName") ' Passe den Namen an
    
       ws.Range("A:C").SpecialCells(xlCellTypeVisible).Copy ' Filtere und kopiere den Bereich
    End Sub
  5. Schließe den VBA-Editor und kehre zu Excel zurück.

  6. Führe das Makro aus: Drücke ALT + F8, wähle KopiereGefilterteDaten und klicke auf „Ausführen“.

Damit werden die gefilterten Zeilen in die Zwischenablage kopiert.


Häufige Fehler und Lösungen

  • Fehler beim Ausführen des Makros: Stelle sicher, dass der angegebene Tabellenblattname korrekt ist. Überprüfe auch, ob der Bereich, den Du filtern möchtest, tatsächlich Daten enthält.

  • Kein sichtbarer Bereich: Wenn keine Zeilen sichtbar sind, erhältst Du einen Laufzeitfehler. Achte darauf, dass Du tatsächlich einen Autofilter angewendet hast, bevor Du das Makro ausführst.


Alternative Methoden

Neben der Verwendung von VBA kannst Du auch manuell filtern und kopieren:

  1. Wende den Autofilter auf Deine Daten an, indem Du die Daten auswählst und auf „Daten“ > „Filter“ klickst.
  2. Wähle die Kriterien, um die gewünschten Zeilen anzuzeigen.
  3. Markiere die sichtbaren Zeilen, klicke mit der rechten Maustaste und wähle „Kopieren“.
  4. Füge die Daten an der gewünschten Stelle ein.

Diese Methode ist einfach und erfordert kein VBA-Wissen, eignet sich jedoch nicht für große Datenmengen.


Praktische Beispiele

Angenommen, Du hast eine Tabelle mit Verkaufsdaten und möchtest nur die Verkäufe über 1000 Euro filtern und kopieren:

  1. Wende den Autofilter auf die Spalte „Verkaufspreis“ an.
  2. Setze die Filterkriterien auf „größer als 1000“.
  3. Führe das oben genannte VBA-Skript aus, um die gefilterten Daten zu kopieren.

Tipps für Profis

  • Nutze Application.CutCopyMode = False am Ende deines Makros, um den Kopiermodus zu beenden und die Auswahl aufzuheben.

  • Du kannst die kopierten Daten auch direkt in eine andere Tabelle einfügen, indem Du den Zielbereich im VBA-Code anpasst:

    ws.Range("E1").PasteSpecial
  • Experimentiere mit verschiedenen Filterkriterien in Deinem VBA-Code, um die Flexibilität zu erhöhen.


FAQ: Häufige Fragen

1. Kann ich mehrere Filterkriterien gleichzeitig anwenden?
Ja, Du kannst mehrere Kriterien im Autofilter anwenden, indem Du die entsprechenden Optionen in der Filterliste auswählst.

2. Funktioniert dieses Makro in Excel 365?
Ja, der Code funktioniert in Excel 365 und sollte auch in früheren Versionen ab Excel 2010 funktionieren. Achte darauf, dass der VBA-Editor aktiviert ist.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige