Wie kann ich bei VBA nach mehreren Kriterien in einer Zeile suchen?

Hallo zusammen.

Ich hab leider nix gescheites zu meiner Problemstellung gefunden, deshalb frage ich jetzt einfach mal direkt nach: Ich möchte in einer großen Tabelle nach mehreren Kriterien in der ersten Zeile suchen. In dieser Zeile sind Überschriften (aus einer .xml übernommen). Leider wiederholen sich die Überschriften ab und an, allerdings mit den unterschiedlichsten Ziffern als Anhängsel (zb AKMKaufteile, AKMKaufteile5, AKMKaufteile324...). Das wäre jetzt aber noch kein Problem, da ich ja normalerweise eh nur nach Teilen des Wortes suche. Ich habe allerdings auch Überschriften die ziemlich ähnlich sind und mit als Treffer gewertet werden so wie ich das mache (zb AKMKaufteileD34, AKMKaufteileB412... also immer entweder das D oder das B mit da drin, und diese Spalten brauche ich nicht).

Zusammengefasst möchte ich einfach nur die erste Zeile nach AKMKaufteile (das ohne D und B) suchen und auch die Zellen/Spalten haben, wo die Ziffern angehängt sind; es handelt sich dabei um Preise, bei D ist das Datum und B der Benutzername angegeben, letztere beiden sind uninteressant).

For i = 1 To 1000
   If InStr(1, Cells(1, i).Value, "AKMKaufteile") > 0 And InStr(1, Cells(1, i).Value, "AKMKaufteileB*") = 0 And InStr(1, Cells(1, i).Value, "AKMKaufteileD*") = 0 Then
      For j = 1 To 300
         If InStr(1, Cells(j, i).Value, "") > 0 Then
             Cells(j, i).Activate
              ActiveCell.Copy Destination:=Worksheets("Ergebnis").Cells(j, 10).Offset(1)
         End If
      Next j
         
   End If
Next i

(So klappt es leider nicht)

Vielen Dank für jeden Tipp der mich weiterbringt ::)

Gruß

Jan

Microsoft Excel, Filter, Makro, VBA
Wie kann ich in VBA-Excel einen Filter setzen über einer CheckBox?

Hi,

ich suche eine einfachere Lösung für meine UserForm um über CheckBoxen meine Tabelle zu Filtern.

Im grunde möchte ich also, wenn ich einen Wert ankreuze soll dieser Gefiltert werden.

Wie im Beispiel (unten):

FKEP und KKEP angekreuzt = FKEP und KKEP angezeigt.

Nur KKEP angekreuzt = nur KKEP angezeigt

"Wert" der gefiltert werden soll | CheckBox Name
 FKEP                              CBFilterFKEP
 KKEP                              CBFilterKKEP
 KfB                               CBFilterKfB
 ausgesch.                         CBFilterausgesch
 beendet                           CBFilterbeendet
 EQ - KfB                          CBFilterEQKfB
 EQ - FKEP                         CBFilterEQFKEP

Mein momentaner Code schaut wiefolgt aus:

    Private Sub CBFilterFKEP_Click()

If CBFilterFKEP = True Then

    Sheets("Gesamtdaten").Range("$A$2:$EQ$502").AutoFilter Field:=3, Criteria1:=Array( _
    "FKEP"), Operator:=xlFilterValues

If CBFilterKKEP = True Then

    Sheets("Gesamtdaten").Range("$A$2:$EQ$502").AutoFilter Field:=3, Criteria1:=Array( _
    "FKEP", "KKEP"), Operator:=xlFilterValues

End If
End If
End Sub

Private Sub CBFilterKKEP_Click()

    If CBFilterKKEP = True Then

        Sheets("Gesamtdaten").Range("$A$2:$EQ$502").AutoFilter Field:=3, Criteria1:=Array( _
        "KKEP"), Operator:=xlFilterValues

    If CBFilterFKEP = True Then

        Sheets("Gesamtdaten").Range("$A$2:$EQ$502").AutoFilter Field:=3, Criteria1:=Array( _
        "KKEP", "FKEP"), Operator:=xlFilterValues

    End If
    End If
    End Sub

Soweit so gut ... nun habe ich aber nur FKEP und KKEP "abgestimmt" ... muss ich nun alle 5 Werte auch "abstimmen" ? Das wird nämlich ein SEHR langer code ... und ich könnte wetten das es in VBA viel leichter geht ...

Hat wer eine Idee von euch?

MfG Tim

Microsoft Excel, Filter, VBA, Sortieren, Tabelle, checkbox

Meistgelesene Beiträge zum Thema Filter