Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1232to1236
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Spezialfilter kopie auf Tabelle 2 ...

Spezialfilter kopie auf Tabelle 2 ...
berny
Hallo Excelfreunde,
ich möchte via Spezialfilter die Filterdaten auf eine separate Tabelle / separate Mappe kopieren.
Auf das selbe Tabellenblatt auf dem auch die Ursprungsdaten stehen bekomme ich das hin, aber sowie ich als Ziel eine andere Tabelle innerhalb der Mappe oder auch eine weitere Mappe anwähle bekomme ich eine Fehlermeldung. »Nur gefilterte Daten können in das aktive Blatt kopiert werden«.
Soll das wirklich bedeuten das mein vorhaben nicht geht?
Ich habe eine Ursprungstabelle von über 100 Spalten und mehrere Tausend Zeilen. Da macht es keinen Sinn die Filterdaten auf das gleiche Tabellenblatt zu kopieren.
Hat jemand eine Lösung (ggf. Bsp.) für mich?
Wenn es nicht anders geht nehme ich auch eine VBA - Lösung.
M.f.G.
Berny
AW: Spezialfilter kopie auf Tabelle 2 ...
17.10.2011 10:33:23
Bertram
Hallo Berny,
das geht tatsächlich nicht. Filtere doch in das gleiche Tabellenblatt und kopiere das Filtrat anschließen in die neue Tabelle / Mappe.
Das kannst du auch mit dem Makrorekorder aufzeichnen.
Gruß
Bertram
AW: Spezialfilter kopie auf Tabelle 2 ...
17.10.2011 10:45:17
Reinhard
Hallo Berny,
andere Mappe mußt du ausprobieren.
Anderes Blatt der Mappe geht einfach. Du mußt den Spezialfilter im anderen Blatt aufrufen.
Warum das nicht in F1 steht ist mir schleierhaft
Gruß
Reinhard
AW: Spezialfilter kopie auf Tabelle 2 ...
17.10.2011 10:52:10
Bertram
Hallo Reinhard,
wie funzt das denn? Vom anderen Blatt aufrufen hab ich noch nie gehört oder hingekriegt.
Gruß
Bertram
Anzeige
Spezialfilter auf anderes Talabellenblatt
17.10.2011 10:57:10
Reinhard
Hallo Bertram,
Blatt1!A1:D40 willst nach Blatt2 filtern mit Spezialfilter.
Dann gehst du auf Blatt2, rufst Daten---Spezialfilter auf.
Dann gehst du in dem Fenster auf die TextBox für Listenbeereich, schreibst da manuell rein
Tabelle1!A1:D50 oder aber bequemer gesht aub Blatt1 und wählst mit der Maus o.ä.
Nach Enter biste wieder in Blatt2.
Den Kritierienbereich kannste anlegen wo du willst, also Blatt1 oder Blatt2, k.A. vielleicht geht auch Blatt3 :-)
Bei "Kopiern nach" wählste halt eine Zelle in Blatt2
Gruß
Reinhard
AW: Spezialfilter auf anderes Talabellenblatt
17.10.2011 11:01:31
berny
Hallo Reinhard
vielen Dank!!!!!!!!!
Das funktioniert wirklich!
(Die Kriterien dürfen auch auf Blatt 3 sein.)
Mein Dank geht natürlich auch an Bertram
M.f.G.
Berny
Anzeige
AW: Spezialfilter auf anderes Talabellenblatt
17.10.2011 11:05:58
Bertram
Hallo Reinhard,
ok, jetzt funzt. Wußte nicht dass das so rum auch geht. Hab's aber vorher genau so probiert und dann kam immer was wie "Bereich nicht gültig". Komisch, hab mich wohl immer vertippt oder so. Aber ich werd's mir gleich mal merken, dass das doch geht mit dem anderen Tabellenblatt.
Danke und Gruß
Bertram
Nicht auf OK, einfach andre TextBox wählen o.w.T.
17.10.2011 11:11:59
Reinhard


Schon klar:-) Meinte nicht den OK-Button...
17.10.2011 11:19:15
Bertram
....sondern, dass es jetzt ok ist und funktioniert:-)
Gruß
Bertram
Korrektur war nur für das Archiv :-)) o.w.T.
17.10.2011 11:28:29
Reinhard


mit VBA und Spezialfilter
17.10.2011 11:07:45
Tino
Hallo,
mit VBA kannst Du es so machen.
In der ersten Zelle neben den Datenbereich gibst Du eine Formel ein für den Filter,
diese muss Wahr oder Falsch ergeben.
Hier ein Beispiel
 ABCD
1Überschrift 1Überschrift 2Überschrift 3 
2348755 
3803834 
4144778 
5183280 
6914131 
731913 
8798286 
9895681 
10197014 

In die gelbe Zelle kommt die Formel, die muss wie geschrieben WAHR oder Falsch ergeben,
die Zeile mit Wahr wird im Ziel ausgeben.
Der VBA Code sieht jetzt so aus, hier werden alle Zeilen gefiltert die eine 1 enthalten.

Sub Spezial_Filter()
Dim FilterBereich As Range
Dim Kriterienbereich As Range
Dim Ziel As Range

Set FilterBereich = Sheets("Tabelle1").Columns("A:C") 'Filterbereich 
Set Kriterienbereich = Sheets("Tabelle1").Range("D2") 'Kriterienbereich 
Set Ziel = Sheets("Tabelle2").Range("A1") 'erste Zelle im Ziel 

Kriterienbereich(1, 1).FormulaLocal = "=ISTZAHL(FINDEN(""1"";A2&B2&C2))"

FilterBereich.AdvancedFilter xlFilterCopy, Kriterienbereich, Ziel

Kriterienbereich.Clear 'Hilfzelle löschen 
End Sub
Hier noch die Beispielmappe
https://www.herber.de/bbs/user/77045.xls
Gruß Tino
Anzeige
Korrektur
17.10.2011 11:46:00
Tino
Hallo,
muss noch was Korrigieren, Kriterienbereich muss aus zwei Zellen bestehen.
Überschriftzeile und die erste Zeile im Datenbereich.
https://www.herber.de/bbs/user/77046.xls

Sub Spezial_Filter()
Dim FilterBereich As Range
Dim Kriterienbereich As Range
Dim Ziel As Range

Set FilterBereich = Sheets("Tabelle1").Columns("A:C") 'Filterbereich 
Set Kriterienbereich = Sheets("Tabelle1").Range("D1:D2") 'Kriterienbereich 
Set Ziel = Sheets("Tabelle2").Range("A1") 'erste Zelle im Ziel 

Kriterienbereich(2, 1).FormulaLocal = "=ISTZAHL(FINDEN(""1"";A2&B2&C2))"

FilterBereich.AdvancedFilter xlFilterCopy, Kriterienbereich, Ziel

Kriterienbereich.Clear 'Hilfzelle löschen 
Application.Goto Ziel
End Sub
Gruß Tino
Anzeige
AW: Korrektur
17.10.2011 16:39:39
berny
Hallo Tino,
danke für deine VBA- Lösung!
die kann ich bestimmt (auch noch) gebrauchen.
Mit der Zeile » Kriterienbereich(1, 2).FormulaLocal = "=ISTZAHL(FINDEN(""1"";A2&B2&C2))" «
hast du mich allerdings ganz schön verwirrt. Wenn ich im Kriterienbereich ("D1:D2") mein Suchkriterium eingebe, dann kann ich diese Zeile weglassen.
M.f.G.
Berny
AW: Korrektur
17.10.2011 17:23:00
Tino
Hallo,
wenn Du nur einen Wert eingibst,
weiß der Filter aber nicht auf welche Spalte dieser sich bezieht,
es sei denn Du schreibst die Überschrift der entsprechenden Spalte dazu.
 ABCD
1Überschrift 1Überschrift 2Überschrift 3 
2Hallo2Hallo4Hallo6 
3Hallo3Hallo6Hallo9 
4Hallo4Hallo8Hallo12 
5Hallo5Hallo10Hallo15 
6Hallo6Hallo12Hallo18 
7Hallo7Hallo14Hallo21 
8Hallo8Hallo16Hallo24 
9Hallo9Hallo18Hallo27 
10Hallo10Hallo20Hallo30 
11Hallo11Hallo22Hallo33 
12Hallo12Hallo24Hallo36 
13Hallo13Hallo26Hallo39 
14Hallo14Hallo28Hallo42 
15Hallo15Hallo30Hallo45 


Sub Spezial_Filter()
Dim FilterBereich As Range
Dim Kriterienbereich As Range
Dim Ziel As Range

Set FilterBereich = Sheets("Tabelle1").Columns("A:C") 'Filterbereich 
Set Kriterienbereich = Sheets("Tabelle1").Range("D1:D2") 'Kriterienbereich 
Set Ziel = Sheets("Tabelle2").Range("A1").Resize(, FilterBereich.Columns.Count) 'Ziel Überschrift 

Kriterienbereich(1, 1) = FilterBereich.Cells(1, 2).Value 'nach Spalte 2 Filtern 
Kriterienbereich(2, 1) = "'=Hallo2*"

FilterBereich.AdvancedFilter xlFilterCopy, Kriterienbereich, Ziel

Kriterienbereich.Clear 'Hilfzelle löschen 
Application.Goto Ziel
End Sub
Gruß Tino
Anzeige
AW: Korrektur
17.10.2011 17:36:59
berny
Hallo,
ja das ist schon klar.
Das gibst du doch schon mit der Zeile » Set Kriterienbereich = Sheets("Tabelle1").Range("D1:D2") « an.
D1 muss gleich der Spaltenüberschrift sein in der du filtern willst.
D2 , D3 ... ist (sind) deine Filterkriterien.
AW: Korrektur
17.10.2011 17:50:00
Tino
Hallo,
oder wie im ersten Beispiel mit einer Formel die Wahr oder Falsch ausgibt.
Dann ist die Überschrift egal und Du kannst mit einer Formel über beliebig viele Spalten gehen
und auch die Bedingung UND/ODER leicht einbauen.
Gruß Tino

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige