Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1004to1008
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

Spezialfilter
07.09.2008 07:39:26
Lemmi
Hallo zusammen,
Ich möchte mit Button Private Sub ToggleButton1_Click() einen Spezialfilter umsetzen!
Der soll die Spalte ab B und O ab Zeile 6 filtern!
Bedingungen: Alle Zellen die eine Farbe "Nr. 40" haben.
Darüber hinaus sollen die Zeilen angezeigt werden die in Spalte B den Zelleninhalt 0 (Zahl 0) haben!
Die Leerzellen werden nicht berücksichtig.
Wird der Butten wieder gedrückt, so setzt sich der Spezialfilter die Auswahl wieder zurück!
Gruß
Lemmi

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Spezialfilter
07.09.2008 08:32:00
Tino
Hallo,
soweit ich es kenne, kann man nach nicht nach Farben Filtern.
Eine Möglichkeit währe, mit einer Schleife die Farbe (ColorIndex: 40) bestimmen und diesen in eine Hilfsspalte schreiben und nach dieser Hilfsspalte Filtern, im gleichen Atemzug kann man die Zellen mit dem Wert 0 bestimmen.
Gruß Tino
AW: Spezialfilter
07.09.2008 09:59:00
Lemmi
Hallo Tino,
wenn das nur mit einer Hilfsspalte umgesetzt werden kann, kann sollte die Spalte P genommen werden!
...oder auch ihrend eine andere nach BB!
Gruß
Lemmi
AW: Spezialfilter
07.09.2008 11:07:50
Tino
Hallo,
so müsste es funktionieren, wenn ich dich richtig verstanden habe.
Die Makros brauchst du nur je einen Button zuzuweisen.
Modul Modul1
Option Explicit 
'hiermit wird der Filter gesetzt********************************* 
Sub SetzteHilfsspalteUndFilter() 
Dim A As Long 
 
With Tabelle1 
.Columns(.Columns.Count).Clear 
.Cells(5, .Columns.Count) = "Hilfsspalte" 
.Cells(1, .Columns.Count) = "Hilfsspalte" 
.Cells(2, .Columns.Count) = "'=1" 
    For A = 6 To .Cells.SpecialCells(xlCellTypeLastCell).Row 
     If (.Cells(A, "B").Interior.ColorIndex = 40 Or .Cells(A, "O").Interior.ColorIndex = 40) Or _
        ((.Cells(A, "B") = 0 And .Cells(A, "B") <> "") Or (.Cells(A, "O") = 0 And .Cells(A, "O") <> "")) Then 
       
      .Cells(A, .Columns.Count) = 1 
      
     End If 
    Next A 
     
    .Rows("5:" & A - 1).AdvancedFilter Action:=xlFilterInPlace, _
    CriteriaRange:=.Range(.Cells(1, .Columns.Count), .Cells(2, .Columns.Count)), Unique:=True 
 .Columns(.Columns.Count).Clear 
End With 
 
End Sub 
 
'hiermit wird der Filter aufgehoben******************************** 
Sub FilterZurücksetzen() 
 Tabelle1.ShowAllData 
End Sub 


Gruß Tino

www.VBA-Excel.de


Anzeige
AW: Spezialfilter
07.09.2008 11:28:39
Tino
Hallo,
diese Zeile funktioniert unter 2007
.Cells(2, .Columns.Count) = "'=1"
mach aus dieser
.Cells(2, .Columns.Count) = "'1"
so funktioniert diese bei beiden Versionen.
Gruß Tino
AW: Spezialfilter
07.09.2008 16:18:00
Lemmi
Hallo Tino,
vielen Dank für Deine Markos, jedoch wird nicht immer richtig gefiltert? Warum habe ich nicht feststellen können?
Der filter soll ausschließlich in Spalte B die 0 sowie in Spalte "0h" die Farbe Filtern!
Wird der Filter mehrfach gedrückt, so verändert sich die Auswahl!
Ich habe in der Beispieldatei darüberhinaus einen ähnlichen Filter als Beispiel eingesetzt!
Dieser Filter entfernt nicht den Autofilter!Könnte man das noch mit einbringen?
https://www.herber.de/bbs/user/55236.xls
Gruß
Lemmi
Anzeige
AW: Spezialfilter
07.09.2008 16:36:00
Tino
Hallo,
ich habe deine Frage so verstanden, dass in beiden Spalten nach den beiden Bedingungen gefiltert werden soll.
Hier korrigiert
Modul Modul1
Option Explicit 
'hiermit wird der Filter gesetzt********************************* 
Sub SetzteHilfsspalteUndFilter() 
Dim A As Long 
  
With Tabelle1 
.Columns(.Columns.Count).Clear 
.Cells(5, .Columns.Count) = "Hilfsspalte" 
.Cells(1, .Columns.Count) = "Hilfsspalte" 
.Cells(2, .Columns.Count) = "'1" 
    For A = 6 To .Cells.SpecialCells(xlCellTypeLastCell).Row 
     If Cells(A, "O").Interior.ColorIndex = 40 Or _
        (.Cells(A, "B") = 0 And .Cells(A, "B") <> "") Then 
      .Cells(A, .Columns.Count) = 1 
     End If 
    Next A 
      
    .Rows("5:" & A - 1).AdvancedFilter Action:=xlFilterInPlace, _
    CriteriaRange:=.Range(.Cells(1, .Columns.Count), .Cells(2, .Columns.Count)), Unique:=False 
 .Columns(.Columns.Count).Clear 
End With 
  
End Sub 
  
'hiermit wird der Filter aufgehoben******************************** 
Sub FilterZurücksetzen() 
 Tabelle1.ShowAllData 
 Tabelle1.Columns(Tabelle1.Columns.Count).Clear 
End Sub 


Gruß Tino

www.VBA-Excel.de


Anzeige
AW: Spezialfilter
07.09.2008 17:46:00
Lemmi
Hallo Tino,
alles prima! Vielen Dank!
Einen kleinen Wunsch, wie ich schon geschrieben habe, habe ich noch!
Wie kann man bei setzten des Filters die AutoFilterfunktion beibehalten!
Der Schalter Status in der Beispieldatei enthält diese "Funktion"
Gruß
Lemmi
AW: Spezialfilter
07.09.2008 17:50:00
Lemmi
ich hab.....noch etwas ...... Tino, (ich hoffe ich wünsche mir nicht zu viel)
kann man das Ganze dann auf eine
Private Sub ToggleButton1_Click() ummünzen?
Wie sehe das Marko dann aus?
... ich meine das Filtern und das wieder zurückstellen!
Gruß
Lemmi
AW: Spezialfilter
08.09.2008 17:37:00
Tino
Hallo,
beide Filter zusammen gehen nicht, teste mal diese Version.
https://www.herber.de/bbs/user/55256.xls
Gruß Tino
Anzeige
AW: Spezialfilter
08.09.2008 21:05:00
Lemmi
Hallo Tino,
ich hab mich mal wieder ungenau ausgedrückt!
....Private Sub ToggleButton1_Click() ummünzen?....
soll natürlich Private Sub ToggleButton2_Click() also der zweite Butten sein!
Damit möchte ich den Butten Filter ein und Filter aus zusammenlegen! also wie bekomme ich das zusammen!
Gruß
Lemmi
AW: Spezialfilter
10.09.2008 20:30:00
Lemmi
Hallo Tino,
die Datei funktioniert, also alles bestens!
Vielen Dank für Deine Hilfe!
GRuß
Lemmi
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige