AutoFilter in Excel

  • #1
L

Little-Litti

Mitglied
Themenersteller
Dabei seit
10.06.2006
Beiträge
8
Reaktionspunkte
0
Ein freundliches Hallo,


ich habe folgendes Problem:

In einer Excel 2007 Tabelle sollen mittels Autofilter diverse Werte ausgefiltert werden. Das Ergebnis wird mittels einer Formel auf ein anderes Tabellenblatt kopiert.
Der Filtervorgang und das Kopieren sollen über ein Makro realisiert werden.
Das Makro wird mittels Makrorecorder aufgezeichnet und sieht ohne die Kopieraktion wie folgt aus:


Sub test_mehrere_Filterkriterien()

ActiveCell.Offset(-944, 0).Range(A1:M1).Select
Selection.AutoFilter
ActiveSheet.Range($A$5:$M$948).AutoFilter Field:=8, Criteria1:=Array(1, _
2, 3, 4), Operator:=xlFilterValues
ActiveSheet.Range($A$5:$M$948).AutoFilter Field:=8, Criteria1:=Array( _
Eisen, Silber, =), Operator:=xlFilterValues

End Sub


Im Moment sind für die zweite Filterung die Werte „Eisen“, Silber“ und „leer“ vorhanden. Diese können jedoch variieren, nicht jedoch die erste Filterung mit 1-4.

Der Versuch die Werte 1-4 einzeln herauszufiltern scheitert am Autofilter, da dieser nur zwei Kriterien zulässt.

Meine Frage besteht jetzt darin, ob und wie mit dem Operator „<>“ das erste Array (Array(1, 2, 3, 4)) herausgefiltert werden kann, so dass als Ergebnis alle anderen herauskommen.

Mein Versuch das Makro dahingehend abzuändern, dass nach dem = von Criteria1: unmittelbar das <> , egal ob mit oder ohne Anführungszeichen, folgt wird von der Syntaxprüfung abgelehnt.


Mit bestem Dank im voraus

Little-Litti
 
  • #2
Hallo Little-Litti,

vielleicht hilft folgendes, da der direkte Weg nicht geht.
Kommentar ist enthalten.

Gruß Matjes :)
Code:
Sub Makro3()
  
 ->Spalte 8 selektieren
  Columns(H:H).Select
  
 ->Bedingte Formatierung der Spalte H,
 ->durch die die Inhalte 1,2,3,4 gelb hinterlegt werden
  Selection.FormatConditions.Add Type:=xlExpression, Formula1:==ODER($H1=1; $H1=2; $H1=3; $H1=4)
  Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
  With Selection.FormatConditions(1).Interior
    .PatternColorIndex = xlAutomatic
    .Color = 65535
    .TintAndShade = 0
  End With
  Selection.FormatConditions(1).StopIfTrue = False
  
 ->Autofilter der Spalte H -> nach Farbe filtern -> keine Füllung
  ActiveSheet.Range($A$5:$M$948).AutoFilter Field:=8, Operator:=xlFilterNoFill
End Sub
 
  • #3
Ein freundliches Hallo,

erst einmal herzlichen Dank für die schnelle Antwort.

Habe heute den Lösungsvorschlag ausprobiert, und stellte fest, dass das Ganze nur dann funktioniert, wenn im Vorfeld eine andere bedingte Formatierung (jede 2te Zeile farblich hervorheben) abgeschaltet wird.

Das Makro entsprechend abgeändert und schon klappt es so wie es sein soll.


Little-Litti
 
Thema:

AutoFilter in Excel

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.838
Beiträge
707.961
Mitglieder
51.491
Neuestes Mitglied
haraldmuc
Oben