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

VBA Filter erweitern

VBA Filter erweitern
27.07.2017 13:07:09
Sepp
Hallo zusammen,
mit diesem Code, Filtere ich wenn ich Spalte F meine Fehler ( "Daten prüfen").
Jetzt möchte ich noch dazu, dass er auch noch den Filter setzt wenn ein Wert 0 in Spalte C vorhanden ist
Das heißt der Filter muss kommen bei Daten prüfen ( Spalte F ) und bei Spalte C wenn Wert 0 ist.
Sub FehlerUndSuchen()
Dim wks As Worksheet
Dim objButton As Object
Dim lngNumber As Variant
Set wks = ActiveSheet
Set objButton = wks.OLEObjects("Cmd_rot").Object
Select Case objButton.Caption
Case "Alle anzeigen"
'If wks.AutoFilterMode Then wks.ShowAllData
If wks.FilterMode = True Then
wks.AutoFilterMode = False
End If
objButton.Caption = "Filter"
Case "Filter"
Select Case MsgBox("Nach was soll gefiltert werden?" & vbLf & vbLf _
& "Ja = Fehlersuche" & vbLf _
& "Nein = Nach Kundennummer suchen" & vbLf _
& "Abbrechen = Nicht Filtern", vbYesNoCancel + vbQuestion, "Abfrage")
Case vbYes
'wks.Range("A1").CurrentRegion.AutoFilter Field:=6, Criteria1:=RGB(255, 0, 0), _
Operator:=xlFilterCellColor, VisibleDropDown:=False
wks.Range("A2").CurrentRegion.AutoFilter Field:=6, Criteria1:="Daten prüfen", _
Operator:=xlAnd, VisibleDropDown:=False
objButton.Caption = "Alle anzeigen"
Case vbNo
Suchen_Nummer:
lngNumber = Application.InputBox("Bitte FAG Kundennummer eingeben", "fehler", Type:= _
1)
If Not lngNumber = False Then
If IsNumeric(Application.Match(lngNumber, wks.Columns(1), 0)) Then
wks.Range("A2").CurrentRegion.AutoFilter Field:=1, Criteria1:=lngNumber, _
Operator:=xlAnd, VisibleDropDown:=False
objButton.Caption = "Alle anzeigen"
Else
If MsgBox("Bitte prüfen!" & vbLf & vbLf & "Neuer Versuch?", 52, _
"fehler") = vbYes Then
GoTo Suchen_Nummer
End If
End If
End If
Case vbCancel
'do nothing
End Select
Case Else
MsgBox "Fehler bei der Beschriftung der Schaltfläche"
objButton.Caption = "Alle anzeigen"
End Select
End Sub
Könntet ihr mir da helfen?
Danke

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Filter erweitern
30.07.2017 12:39:40
fcs
Hallo Sepp,
das bekommt man mit dem Autofilter alleine nicht gebacken, da dieser immer die die Filter in den Spalten per UND verknüpft.
Du musst dir in einer weiteren Spalte per Formel das Kriterium erzeugen und dann den Autofilter entsprechend setzen.
Formelbeispiel für Zeile 2:
=WENN(ODER(C2=0; F2="Daten prüfen");1;0)
LG
Franz
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige