Hilfe bei Excel Makro das gefilterte Daten in eine andere Excel Datei kopieren soll?

2 Antworten

Klar. So kannst du z.B. filtern Field gibt dabei an, in welcher Spalte gefiltert werden soll. Field:=1 wäre also die erste Spalte des Filterbereichs.

Sheets("Tabelle2").Range("Filterrange_Eintragen").AutoFilter Field:=1, Criteria1:=Sheets("Tabelle1").Range("A1").Value

Dann einfach den Bereich über Sheets("XYZ").Range("A1:C10").Copy kopieren und über Sheets("ZYX").Range("A1").Paste einfügen.


Wenn du auf unterschiedliche Dateien referenzieren willst, vor dem Sheets jeweils noch Workbooks("Dateiname.xlsm").

marioquee 
Fragesteller
 11.05.2016, 12:13

Hallo, vielen Dank für die schnelle Hilfe. Leider bin ich kein VBA Experte. Ich habe folgenden Code aus Deinen Ausführungen "gebastelt". Der Code funktioniert aber nicht, er bricht beim Autofiltern ab. Wissen Sie warum?

Sub Öffnen()
' Öffnen Makro
    Set wbAktuell = ActiveWorkbook
    Workbooks.Open Filename:="C:\Daten\import.xlsx"
   
    Workbooks("import.xlsx").Sheets("Daten").Range("A1:BC5000").AutoFilter Field:=4, Criteria1:=Workbooks("XXX Controlling.xlsm").Sheets("Übersicht").Range("K2").Value
   
    Workbooks("import.xlsx").Sheets("Daten").Range("A1:BC5000").Copy
    Workbooks("XXX Controlling.xlsm").Sheets("Daten").Range("A1").Paste

End Sub

0
azmd108  11.05.2016, 14:17
@marioquee

Hallo,

so funktioniert es bei mir:

    Workbooks.Open Filename:="C:\Users\test\Desktop\Mappe2.xlsm"

Workbooks("Mappe1.xlsm").Sheets("Tabelle1").Range("A1:B5").AutoFilter Field:=1, Criteria1:=Workbooks("Mappe2.xlsm").Sheets("Tabelle1").Range("A1").Value

Workbooks("Mappe1.xlsm").Sheets("Tabelle1").Range("A1:B5").Copy Workbooks("Mappe2.xlsm").Sheets("Tabelle1").Range("A2")

Schreib hinter dem Copy-Befehl direkt das Ziel. Also ....Copy Ziel

1

wenn das nicht Teil eines größeren Makros sein soll, brauchst Du keins.

m.Erinnerung nach kannst Du einen gefilterten Bereich mit kopieren - Einfügen als Werte (im Kontext-Menü oder als altes Icon, geht in die benutzerdefinierte Leiste  -das ist die, in der rückgängig und wiederholen-Icons drinstehen-  zu übernehmen, ich habs drin) an den Zielort bringen, ohne dass die ausgeblendeten Zellen mitübernommen werden. (anders als beim normalen Einfügen). Ausprobieren will ich das jetzt nicht, bin in Eile.

marioquee 
Fragesteller
 11.05.2016, 12:19

Es soll Teil eines größeren Makros und automatisiert passieren. Manuelles filtern und kopieren ist kein Alternative. Trotzdem Danke.

1
Iamiam  11.05.2016, 12:36
@marioquee

dann zeichne doch die zugehörigen Aktionen auf, damit Du Info über notwendige Befehle und ihre Syntax erhältst!

Ebenfalls nur m.Erinnerung nach muss man für solche Aktionen erst mal das Workbook ALS WINDOWS(Workbooks(...).Name) oder so ähnlich (der Name kann auch direkt eingetippt werden).aktivieren, dann das Blatt aktivieren und kann dann erst filtern. Ist aber lange her, dass ich das mal gemacht hab, ausserdem könnte VBA da inzwischen verbessert worden sein..

0