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

... komplette Frage anzeigen

2 Antworten

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.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von marioquee
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

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").

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von marioquee
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

Was möchtest Du wissen?