Guten Tag,
ich bräuchte nochmal eure Hilfe. Ich habe eine Datenbank, welche nach verschiedenen Werten durchsucht wird. Jetzt bräuchte ich bei der Suche nach Durchmessern einen größeren Bereich, der durchsucht wird. Also ich möchte Beispielsweise nicht nur nach dem Durchmesser 60 suchen, sondern nach 60 +/- 10. Der eingegrenzte Bereich (indemfall die 10) soll aber variabel sein und über ein Feld neben dem Eingabefeld für die Suche eingegeben werden. Ich packe mein jetziges Makro für die Suche mal noch rein und hoffe, dass ihr mein Problem versteht und mir weiterhelfen könnt. Ich habe es auch schon selbst versucht aber lasse das jetzt der Verständnis halber mal aus dem Makro draußen. Die Betreffenden Zeilen, wo es eingebaut werden müsste habe ich Fett formatiert.
Sub Suchen_mit_Autofilter()
'Lieferant
If IsEmpty(tb_Suchformular.Range("H12").Value) = False Then
tb_Datenbank.Range("B12").AutoFilter Field:=2, Criteria1:="*" & tb_Suchformular.Range("H12").Value & "*"
End If
'Projekt Nr.
If IsEmpty(tb_Suchformular.Range("H14").Value) = False Then
tb_Datenbank.Range("B12").AutoFilter Field:=3, Criteria1:="*" & tb_Suchformular.Range("H14").Value & "*"
End If
'Datum
If IsEmpty(tb_Suchformular.Range("H16").Value) = False Then
tb_Datenbank.Range("B12").AutoFilter Field:=4, Criteria1:="*" & tb_Suchformular.Range("H16").Value & "*"
End If
'T-Nr.
If IsEmpty(tb_Suchformular.Range("H18").Value) = False Then
tb_Datenbank.Range("B12").AutoFilter Field:=5, Criteria1:=tb_Suchformular.Range("H18").Value
End If
'Abk. Werkzeug
If IsEmpty(tb_Suchformular.Range("H20").Value) = False Then
tb_Datenbank.Range("B12").AutoFilter Field:=6, Criteria1:="*" & tb_Suchformular.Range("H20").Value & "*"
End If
'Bezeichnung Gesamtwerkzeug
If IsEmpty(tb_Suchformular.Range("H22").Value) = False Then
tb_Datenbank.Range("B12").AutoFilter Field:=7, Criteria1:="*" & tb_Suchformular.Range("H22").Value & "*"
End If
'Bezeichnung Werkzeugkomponente
If IsEmpty(tb_Suchformular.Range("H24").Value) = False Then
tb_Datenbank.Range("B12").AutoFilter Field:=8, Criteria1:="*" & tb_Suchformular.Range("H24").Value & "*"
End If
'Hauptgruppe
If IsEmpty(tb_Suchformular.Range("H26").Value) = False Then
tb_Datenbank.Range("B11").AutoFilter Field:=9, Criteria1:="*" & tb_Suchformular.Range("H26").Value & "*"
End If
'Sonder-/Normhaltung
If IsEmpty(tb_Suchformular.Range("L12").Value) = False Then
tb_Datenbank.Range("B12").AutoFilter Field:=10, Criteria1:="*" & tb_Suchformular.Range("L12").Value & "*"
End If
'Schneidstoff
If IsEmpty(tb_Suchformular.Range("L14").Value) = False Then
tb_Datenbank.Range("B12").AutoFilter Field:=11, Criteria1:=tb_Suchformular.Range("L14").Value
End If
'Wkzg Durchmesser
If IsEmpty(tb_Suchformular.Range("L16").Value) = False Then
tb_Datenbank.Range("B12").AutoFilter Field:=12, Criteria1:="*" & tb_Suchformular.Range("L16").Value & "*"
End If
'Schaftdurchmesser
If IsEmpty(tb_Suchformular.Range("L18").Value) = False Then
tb_Datenbank.Range("B12").AutoFilter Field:=13, Criteria1:=tb_Suchformular.Range("L18").Value
End If
'Zähnezahl
If IsEmpty(tb_Suchformular.Range("L20").Value) = False Then
tb_Datenbank.Range("B12").AutoFilter Field:=14, Criteria1:=tb_Suchformular.Range("L20").Value
End If
'Gesamtlänge
If IsEmpty(tb_Suchformular.Range("L22").Value) = False Then
tb_Datenbank.Range("B12").AutoFilter Field:=15, Criteria1:=tb_Suchformular.Range("L22").Value
End If
'Anzahl Stufen
If IsEmpty(tb_Suchformular.Range("L24").Value) = False Then
tb_Datenbank.Range("B12").AutoFilter Field:=16, Criteria1:=tb_Suchformular.Range("L24").Value
End If
'Besonderheiten
If IsEmpty(tb_Suchformular.Range("L26").Value) = False Then
tb_Datenbank.Range("B12").AutoFilter Field:=17, Criteria1:="*" & tb_Suchformular.Range("L26").Value & "*"
End If
'Auf die Datenbank navigieren
tb_Datenbank.Select
End Sub
Danke im voraus
|