Anzeige
Archiv - Navigation
988to992
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
988to992
988to992
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

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

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

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige