Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1432to1436
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 Filterproblem

VBA Filterproblem
23.06.2015 07:22:52
WalterK
Hallo,
der unten angeführte FilterCode soll eine Tabelle nach den Bezeichnungen, die im Bereich C89:C98 angeführt sind filtern. Das funktioniert allerdings nur, wenn im Bereich C89:C98 alle 10 Zellen befüllt sind. Das ist aber nicht immer der Fall und dann bricht der Code ab mit dem Fehler: Typen unverträglich.
Wie kann ich dem Code sagen, dass er im Bereich C89:C98 nur die Zellen zum Filtern nimmt, in denen auch etwas steht?
Sub FilterEin()
Dim wksMenü As Worksheet
Dim wksPool As Worksheet
Dim LzB As Long
Dim LCol As Long
Dim Suchbegriff As String
Dim Suchzeile As Variant
Set wksMenü = Worksheets("MENÜ und NAVIGATION")
Set wksPool = Worksheets("PoollisteFertig")
LzB = wksPool.Cells(Rows.Count, 2).End(xlUp).Row
LCol = Cells(1, Columns.Count).End(xlToLeft).Column
Suchbegriff = wksMenü.Range("F87")
Suchzeile = Application.Match(Suchbegriff, wksPool.Rows(1), 0)
If Not IsNumeric(Suchzeile) Then
MsgBox "Die im Blatt >>> MENÜ und NAVIGATION >> PoollisteFertig 
Besten Dank im voraus, Servus Walter

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Filterproblem
23.06.2015 09:30:08
Nepumuk
Hallo,
teste mal:
Public Sub FilterEin()
    
    Dim wksMenü As Worksheet
    Dim wksPool As Worksheet
    Dim lngRow As Long
    Dim ialngIndex As Long
    Dim astrFilter() As String
    Dim Suchzeile As Variant
    
    Set wksMenü = Worksheets("MENÜ und NAVIGATION")
    Set wksPool = Worksheets("PoollisteFertig")
    
    Suchzeile = Application.Match(wksMenü.Range("F87").Value, wksPool.Rows(1), 0)
    
    If IsError(Suchzeile) Then
        
        MsgBox "Die im Blatt >>> MENÜ und NAVIGATION <<< in der Zelle F87 für die Formatierung " & _
            "der Spalte angeführte Überschrift konnte im Blatt >>> PoollisteFertig <<< in der " & _
            "Zeile 1 nicht gefunden werden." & vbLf & "" & vbLf & "Der Code wird jetzt beendet " & _
            "und muss nach der Berichtigung neu gestartet werden!", vbInformation
        
    Else
        
        With wksMenü
            For lngRow = 89 To 98
                If Not IsEmpty(.Cells(lngRow, 3).Value) Then
                    ialngIndex = ialngIndex + 1
                    Redim Preserve astrFilter(ialngIndex)
                    astrFilter(ialngIndex) = .Cells(lngRow, 3).Text
                End If
            Next
        End With
        
        wksPool.Rows(1).AutoFilter Field:=Suchzeile, Criteria1:=astrFilter, Operator:=xlFilterValues
        
    End If
    
    Set wksMenü = Nothing
    Set wksPool = Nothing
End Sub

Gruß
Nepumuk

Anzeige
Besten Dank Nepumuk, TipTop! Servus, Walter
23.06.2015 10:26:07
WalterK

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige