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

Forumthread: VBA: gefilterten Bereich kopieren gesucht

VBA: gefilterten Bereich kopieren gesucht
Marcy
Hallo Experten,
durch was muss ich VBA erweitern, damit der gefilterte Bereich kopiert wird?
Zusatz: Am besten sogar nur WERTE um den Schritt "Inhalte einfügen - Werte" zu sparen.
Auch ohne Zusatz wäre ich sehr dankbar.
Der Filter ist in Zeile 24
Kopiert werden soll bei Filter Modi Bereich A25:E? (kommt drauf an was gefiltert wurde).
Danke
Gruß Marcy
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: VBA: gefilterten Bereich kopieren gesucht
28.09.2011 14:03:18
Martin
Hallo Marcy,
probiere es mal hiermit:

    Range(Cells(25, 1), Cells(ActiveSheet.UsedRange.Rows.Count, 5)).SpecialCells( _
xlCellTypeVisible).Copy
Viele Grüße
Martin
AW: VBA: gefilterten Bereich kopieren gesucht
28.09.2011 14:18:28
Marcy
Hi Martin,
ich küsse Dir die Füße :-))))))))
Vielen Dank
Perfekter als gewünscht
Gruß Marcy
Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige

Infobox / Tutorial

Gefilterte Daten in Excel mit VBA kopieren


Schritt-für-Schritt-Anleitung

Um einen gefilterten Bereich in Excel mit VBA zu kopieren, kannst Du folgenden Code verwenden. Dieser kopiert alle sichtbaren Zellen im angegebenen Bereich:

Range(Cells(25, 1), Cells(ActiveSheet.UsedRange.Rows.Count, 5)).SpecialCells(xlCellTypeVisible).Copy
  1. Öffne den VBA-Editor in Excel (Alt + F11).
  2. Füge ein neues Modul hinzu (Rechtsklick auf "VBAProject" > Einfügen > Modul).
  3. Kopiere den obigen Code in das Modul.
  4. Passe die Zeilen- und Spaltennummern (A25:E?) an Deinen Bedarf an.
  5. Führe das Makro aus, um die gefilterten Zeilen zu kopieren.

Wenn Du nur die Werte der gefilterten Daten in eine andere Tabelle einfügen möchtest, kannst Du den Code mit einer Paste-Methode erweitern:

Dim rng As Range
Set rng = Range(Cells(25, 1), Cells(ActiveSheet.UsedRange.Rows.Count, 5)).SpecialCells(xlCellTypeVisible)
rng.Copy
Sheets("ZielTabelle").Range("A1").PasteSpecial Paste:=xlPasteValues

Häufige Fehler und Lösungen

  • Fehler: "Keine sichtbaren Zellen gefunden"

    • Lösung: Stelle sicher, dass der Filter aktiv ist und dass es sichtbare Zellen im angegebenen Bereich gibt.
  • Fehler: Das Makro funktioniert nicht

    • Lösung: Überprüfe, ob Du die richtige Tabelle im Code angegeben hast und ob der Bereich korrekt definiert ist.

Alternative Methoden

Wenn Du keinen VBA-Code verwenden möchtest, kannst Du auch die folgenden Schritte manuell durchführen:

  1. Filtere Deine Daten wie gewohnt.
  2. Wähle die gefilterten Zellen aus.
  3. Drücke Strg + C, um die Zellen zu kopieren.
  4. Wechsle zu der Zielzelle und drücke Strg + V, um die Daten einzufügen.

Diese Methode funktioniert gut, wenn Du gelegentlich gefilterte Daten kopieren möchtest, jedoch ist VBA die effizientere Lösung für regelmäßige Aufgaben.


Praktische Beispiele

Nehmen wir an, Du hast eine Tabelle mit Verkaufsdaten und möchtest nur die Verkaufszahlen für ein bestimmtes Produkt kopieren. Verwende den folgenden VBA-Code, um nur die gefilterten Daten zu extrahieren und in eine andere Tabelle einzufügen:

Sub KopiereGefilterteDaten()
    Dim rng As Range
    Set rng = Range("A25:E100").SpecialCells(xlCellTypeVisible)
    rng.Copy
    Sheets("ZielTabelle").Range("A1").PasteSpecial Paste:=xlPasteValues
End Sub

In diesem Beispiel wird der Bereich A25:E100 kopiert. Du kannst die Zeilen anpassen, um die exakten gefilterten Zeilen zu erfassen.


Tipps für Profis

  • Speichere Deine Makros in einer personalisierten Arbeitsmappe, um sie in allen Excel-Dokumenten nutzen zu können.
  • Nutze Application.ScreenUpdating = False am Anfang Deines Makros, um die Ausführungsgeschwindigkeit zu erhöhen und Bildschirmflackern zu vermeiden.
  • Überlege, zusätzliche Fehlerbehandlungen in Deinen Code einzubauen, um unerwartete Probleme zu vermeiden.

FAQ: Häufige Fragen

1. Wie kann ich gefilterte Zellen kopieren und in gefilterte Bereiche einfügen? Du kannst gefilterte Zellen kopieren und sie in gefilterte Bereiche einfügen, indem Du sicherstellst, dass der Zielbereich auch gefiltert ist. Verwende die PasteSpecial-Methode, um nur die Werte einzufügen.

2. Ist dieser VBA-Code mit allen Excel-Versionen kompatibel? Ja, der VBA-Code sollte in den meisten modernen Excel-Versionen (Excel 2010 und höher) funktionieren. Achte darauf, die entsprechenden Excel-Einstellungen zu überprüfen, um Makros zu aktivieren.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige