Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema ListBox
BildScreenshot zu ListBox ListBox-Seite mit Beispielarbeitsmappe aufrufen

Filtern im array Fehler Typen unvertäglich

Betrifft: Filtern im array Fehler Typen unvertäglich von: karl
Geschrieben am: 28.10.2012 08:21:55


Einen schönen sonntag allen,

in eine Userform Listbox lade ich Daten aus einer tabelle mittels array
das klappt auch

Jetzt möchte ich per combobox einen Filter anwenden.
Hier gehts bei mir nicht weiter.
Habe über die recherche diverse codes ausprobiert, ich krieg es nicht hin
Könnte mir jemand den code io bringen

https://www.herber.de/bbs/user/82346.xls

gruss
karl

  

Betrifft: AW: Filtern im array Fehler Typen unvertäglich von: ransi
Geschrieben am: 28.10.2012 09:23:29

Hallo Karl

Aus dem Code heraus kann ich nicht erkennen was du eigentlich filtern möchtest.
Ich habe mal geraten:

So?

Private Sub ComboBox1_Change()
    Dim i As Long
    Dim k As Integer
    Dim m As Long
    Redim arrOut(0) As Variant
    If ComboBox1.Text = "" Then Exit Sub
    For i = 1 To UBound(arrIn)
        If UCase(CStr(arrIn(i, 1))) Like UCase(ComboBox1.Text) Then
            Redim Preserve arrOut(m)
            arrOut(m) = WorksheetFunction.Index(arrIn, i, 0)
            m = m + 1
        End If
    Next
    ListBox1.Column = WorksheetFunction.Transpose(arrOut)
End Sub



ransi


  

Betrifft: AW: Filtern im array Fehler Typen unvertäglich von: karl
Geschrieben am: 28.10.2012 09:29:03

Hallo ransi,

ja sorry das hätte ich dazu schreiben sollen
aber der code von dir tut genau das was ich wollte.

rechtherzlichen dank

karl


  

Betrifft: AW: Filtern im array Fehler Typen unvertäglich von: Gerd L
Geschrieben am: 28.10.2012 09:36:57

Hallo Karl,

nur mal auf die Schnelle eine Prozedur lauffähiger gemacht:

Public arrIn As Variant
Option Explicit
Private Sub ComboBox1_Change()
Dim i As Long
Dim k As Integer
Dim m As Long
Dim arrOut As Variant

ReDim arrOut(1 To 5, 1 To 1) '#eingefügt
    
    
    
    If ComboBox1.Text = "" Then Exit Sub
    
    For i = 1 To UBound(arrIn)
        If UCase(CStr(arrIn(i, 1))) Like UCase(ComboBox1.Text) Then
            m = m + 1
            
            ReDim Preserve arrOut(1 To UBound(arrIn, 2), 1 To m) '#vor die Schleife gestellt
            
            For k = 1 To UBound(arrIn, 2)
                
                arrOut(k, m) = arrIn(i, k)
            Next
        End If
    Next

    If m >= 1 Then
    ListBox1.Column = arrOut

    End If
    If m = 0 Then
    ListBox1.Clear
    End If
    
End Sub
Gruß Gerd


  

Betrifft: AW: Filtern im array Fehler Typen unvertäglich von: Tino
Geschrieben am: 28.10.2012 09:49:31

Hallo,
habe mal was eingebaut.

https://www.herber.de/bbs/user/82347.xls

Gruß Tino


  

Betrifft: AW: Filtern im array Fehler Typen unvertäglich von: karl
Geschrieben am: 28.10.2012 14:11:41

Hi tino

auch das passt, werd ich so auch einbauen
filtern über alle beide boxen

dankeschön auch dir

karl


 

Beiträge aus den Excel-Beispielen zum Thema "Filtern im array Fehler Typen unvertäglich"