Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Filtersuche und Array
#1
Hallo zusammen

Vorab, ich habe bis jetzt kaum mit Arrays gearbeitet und mein Excel Buch und die Hilfsfunktion, konnten mir ned weiterhelfen, evt stehe ich auch einfach auf dem Schlauch.
Ich möchte über ein User Form einen gewissen Bereich, der über zwei Comboboxen bestimmt wird filtern.
Ich habe bereits herausgefunden, dass man mehrere Kriterien nur über ein Array filtern kann (Danke Macro recorder)

Leider kriege ich es ned hin, dass er mir die Auswahl die ich über das User Form wähle Filtert

Evtl. misshandle ich gerade das Array und versuche etwas, was so gar ned geht 05

Im Anhang ist eine Beispieldatei.

Danke für eure Hilfe

LG Primo


.xlsm   Mappe2.xlsm (Größe: 23,74 KB / Downloads: 5)
Antworten Top
#2
Hallo,

das dürfte auf den Like-Operator hinauslaufen. Schau mal, ob Dir das hilft: https://learn.microsoft.com/en-us/office...e-operator

Habe mir die Datei nicht angesehen, aber vermutlich musst Du das Array durchlaufen, die Werte entsprechend (z. B. mit Like) prüfen und dann ggf. in ein neues Array speichern.
Gruß
Michael
[-] Folgende(r) 1 Nutzer sagt Danke an Der Steuerfuzzi für diesen Beitrag:
  • Primo Centurio
Antworten Top
#3
Hallo,

Teste mal, ob das so reicht.

Code:
Private Sub ComboBox2_Change()
    Dim iStart&, iEnde&, i&, arrFilter()
    iStart = ComboBox1
    iEnde = ComboBox2
    If ComboBox1 > ComboBox2 Then Exit Sub
    For i = 1 To iEnde + 1 - iStart
        ReDim Preserve arrFilter(1 To i)
        arrFilter(i) = Format(i + iStart - 1, "@")
    Next i
    ActiveSheet.Range("A9:F1500").AutoFilter Field:=1, Criteria1:=arrFilter, Operator:=xlFilterValues
End Sub

Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Egon12 für diesen Beitrag:
  • Primo Centurio
Antworten Top
#4
Dieser Code reicht für das ganzes Userform.

Code:
Private Sub UserForm_Initialize()
  ComboBox1.List = Tabelle1.Cells(1).CurrentRegion.Columns(1).SpecialCells(2, 1).Value
  ComboBox2.List = ComboBox1.List
End Sub



Code:
Private Sub ComboBox2_Change()
  If ComboBox1 > -1 And ComboBox2 > -1 Then Tabelle1.Cells(1).CurrentRegion.AutoFilter 1, ">=" & ComboBox1, 1, "<=" & ComboBox2
End Sub
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
[-] Folgende(r) 1 Nutzer sagt Danke an snb für diesen Beitrag:
  • Primo Centurio
Antworten Top
#5
Danke euch allen. Die Lösung von snb ist perfekt und ich hätte nicht gedacht, dass man den Code so kurz halten kann  05

Ich wünsche euch einen wunderschönen Abend.

LG Primo
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste