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

Filtern per Makro

Forumthread: Filtern per Makro

Filtern per Makro
01.07.2008 15:37:53
Claus
Hallo, ich habe 2 Tabellenblätter. Ich möchte gerne per Makro das Tabellenblatt 1 mit Daten eines Feldes in Tabellenblatt 2 filtern. Ich habe per Aufzeichnung den Makro erstellt. Im Makro wird aber der Wert des Feldes im Filter eingetragen anstatt den Wert des Feldes (dieser ist nämlich variabel).
Im Besipiel müsste
- anstatt Field 1 der Wert von F21 vom Sheet "Teil 1 bis 5"
- anstatt Field 2 der Wert von F22 vom Sheet "Teil 1 bis 5"
Vielen Dank!
Beispiel:
Range("F21").Select
Selection.Copy
Sheets("Geantwortet").Select
Selection.AutoFilter Field:=4, Criteria1:="=a) Field 1", _
Operator:=xlAnd
Sheets("Teil 1 bis 5").Select
Range("F22").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Geantwortet").Select
Selection.AutoFilter Field:=4, Criteria1:="=a) Field 1", _
Operator:=xlOr, Criteria2:="=b) Field 2"
Sheets("Teil 1 bis 5").Select
Range("A1").Select
Application.CutCopyMode = False
Sheets("Geantwortet").Select
Range("A3:a1500").Select
Selection.Copy
Sheets("Teil 1 bis 5").Select
Range("B39").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Sheets("Geantwortet").Select
Range("b3:b1500").Select
Selection.Copy
Sheets("Teil 1 bis 5").Select
Range("e39").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Range("A1").Select

Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Filtern per Makro
02.07.2008 09:29:00
Yusuf
Hi,
hab deinen Code ein wenig angepasst, zumindest die Stellen, die ich mir erklaeren konnte.
Option Explicit

Sub Filtern()
'variablen muessen noch deklariert werden, da ich nicht weiss,
'was in den Feldern F21 und F22 steht
Sheets("Geantwortet").Select
inhalt_von_F21 = Sheets("Teil 1 bis 5").Cells(21, 6)
inhalt_von_F22 = Sheets("Teil 1 bis 5").Cells(22, 6)
'hier wird gefiltert.
Sheets("Geantwortet").Select
Selection.AutoFilter
Selection.AutoFilter Field:=4, Criteria1:="=" & a, Operator:=xlAnd, _
Criteria2:="=" & b
'konnte mir den Code ab hier nicht mehr erklaeren, deshalb nichts veraendert
Application.CutCopyMode = False
Sheets("Geantwortet").Select
Range("A3:a1500").Select
Selection.Copy
Sheets("Teil 1 bis 5").Select
Range("B39").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Sheets("Geantwortet").Select
Range("b3:b1500").Select
Selection.Copy
Sheets("Teil 1 bis 5").Select
Range("e39").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Range("A1").Select
End Sub


Es wird nun gefiltert nach, wenn F21 UND F22 auftreten.
Da du nacheinander ohne etwas dazwischen zu machen gefiltert hast nach F21 und F22 habe ich dieses mal so interpretiert.
Falls es ein oder sein sollte einfach das Operator:=xlAnd durch Operator:=xlOr ersetzen.
Gruß
Yusuf

Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige