97. Nur gefilterte Werte übertragen

Aufgabenstellung:

Für diese Beispieldatei war die Aufgabenstellung nur die gefilterten Werte des Autofilters in ein anderes Tabellenblatt zu kopieren.

Diese Beispiele stehen auch als Beispieldatei zum Download zur Verfügung.

In der Zipdatei befindet sich eine xls-Datei für Excel 2000 - 2003 und eine xlsm-Datei für Excel 2007.


Realisiert wurde das durch eine VBA-Lösung.

Beispiel1: Daten mit Überschrift kopieren

Der Code ist in ein StandardModul einzufügen


Option Explicit


Sub gefilterte_Werte_mit_Überschrift_kopieren()
'Bildschirmaktualisierung ausschalten
Application.ScreenUpdating = False
'Abfrage: Wenn Autofilter aktiviert, dann...
If Sheets("gefiltert Werte").FilterMode Then
'...alle Werte in Blatt "kopierte Werte" löschen...
Sheets("kopierte Werte").Cells.ClearContents
'...die gefilterten Werte in Blatt "gefilterten Werte" kopieren und...
Sheets("gefiltert Werte").Range("B2").CurrentRegion.SpecialCells(xlCellTypeVisible).Copy
'...in Blatt "kopierte Werte" ab Zelle A1 einfügen
Sheets("kopierte Werte").Range("A1").PasteSpecial Paste:=xlPasteValues
'Abfrage Ende
End If
Application.CutCopyMode = False
End Sub

 

Beispiel2: Daten ohne Überschrift kopieren

Der Code ist in ein StandardModul einzufügen


Option Explicit


Sub gefilterte_Werte_ohne_Überschrift_kopieren()
Dim rngFilterbereich As Range
'Bildschirmaktualisierung ausschalten
Application.ScreenUpdating = False
'Abfrage: Wenn Autofilter aktiviert, dann...
If Sheets("gefiltert Werte").FilterMode Then
    '...alle Werte in Blatt "kopierte Werte" löschen...
    Sheets("kopierte Werte").Cells.ClearContents
    '...der Variablen "rngFilterbereich" den gefilterten Bereich zuweisen...
    Set rngFilterbereich = Sheets("gefiltert Werte").AutoFilter.Range
    '...Fehlerbehandlung einschalten...
    On Error Resume Next
    '...Bereich kopieren...
    Set rngFilterbereich = rngFilterbereich.Offset(1, 0).Resize(rngFilterbereich.Rows.Count - 1, rngFilterbereich.Columns.Count)
    If Not Err Then rngFilterbereich.Copy
    '...und in Blatt "kopierte Werte" ab Zelle A1 einfügen
    Sheets("kopierte Werte").Range("A1").PasteSpecial Paste:=xlPasteValues
'Abfrage Ende
End If
Application.CutCopyMode = False
End Sub

 


Dieses Beispiel wurde unter den in der Tabelle aufgeführten Versionen getestet.

  A B C D E
1        

2

 

Excel - Version

Getestet

 
3      
4   Excel 2007 12.0 a  
5   Excel 2003 11.0 a  
6   Excel 2002 10.0 a  
7   Excel 2000 9.0 a  
8   Excel 97 8.0    
9          
10   Anzahl der Downloads:

 
11          
12   Dieses Beispiel wurde bereits  x aufgerufen.  
13    
14          

 


> Beispieldatei herunterladen <

  Sollten beim Ausführen der Beispieldatei Fehler auftreten, bitte ich darum, mir eine Mail mit der Fehlerbeschreibung an fehler@excelbeispiele.de zu schicken.
Danke!

 Möchten Sie www.excelbeispiele.de in Ihre Favoriten aufnehmen? Dann Klicken Sie hier.
 

Kontakt:

letzte Aktualisierung am 06.01.2008

© 2004 - Copyright Oliver Scheckelhoff,
All Rights Reserved