Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1468to1472
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

Range von bis bei Filterarray wie?

Range von bis bei Filterarray wie?
28.01.2016 15:06:30
bis
Hallo zusammen,
zunächst möchte ich erst einmal meinen Dank an dieses tolle Forum bekunden, ihr habt mir schon oft mit Lösungsansätzen weitergeholfen.
Nun zu meinem derzeitigen Problem (bin leider kein VBA Spezie :( ):
Wie kann ich anstatt die Zeilen immer einzeln anzugeben z.B. eine Range ("A4:A100") angeben? Hier kommt bei mir immer ein Fehler :(
Dim sngIndex As Single
Dim ialngCount As Long
Dim astrFilterArray() As String
For sngIndex = 1 To 100
If OLEObjects("CheckBox" & CStr(sngIndex)).Object.Value Then
ReDim Preserve astrFilterArray(ialngCount)
astrFilterArray(ialngCount) = Choose(sngIndex, Range("A4"), Range("A5"))
.....
Vielen Dank für Lösungsvorschläge.
Viele Grüße!

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Range von bis bei Filterarray wie?
28.01.2016 19:08:30
bis
Hallo,
du willst in einem Array ein Array speichern? Wenn ja, dann musst du den Datentyp Variant benutzen.
Gruß
Nepumuk

AW: Range von bis bei Filterarray wie?
29.01.2016 08:16:10
bis
Guten Morgen,
vielen Dank für deine Antwort. Ich habe es mal mit Variant probiert, jedoch kommt dann sobald ich z.B. eine Range ("A4:A100") eingebe ein Typen unverträglich fehler.
Hier mal eine Beispieldatei: https://www.herber.de/bbs/user/103132.xlsm
Im ersten Tabellenblatt soll man per Checkbox im zweiten Tabellenblatt einen Filter setzen können. Hier ist nun mein Problem das ich immer die einzelnen Zeilen im Code hinzufügen muss, also Range A4, Range A5 usw.. Irgendwann wird leider der Befehlscode zu lang für die Zeile, aus dem Grund würde ich gerne eine Range von bis einfügen.
Vielen Dank für eure Tipps.
Viele Grüße

Anzeige
AW: Range von bis bei Filterarray wie?
29.01.2016 09:06:37
bis
Hallo,
teste mal:
Public Sub DatenFiltern()
    
    Dim lngIndex As Long, ialngCount As Long
    Dim astrFilterArray() As String
    
    For lngIndex = 1 To 97
        
        If OLEObjects("CheckBox" & CStr(lngIndex)).Object.Value Then
            
            Redim Preserve astrFilterArray(ialngCount)
            astrFilterArray(ialngCount) = Cells(lngIndex + 2, 1).Value
            
            ialngCount = ialngCount + 1
            
        End If
    Next
    
    With Worksheets("2").Rows(1)
        
        If ialngCount > 0 Then
            
            Call .AutoFilter(Field:=1, Criteria1:=astrFilterArray, Operator:=xlFilterValues)
            
        Else
            
            Call .AutoFilter(Field:=1)
            
        End If
        
    End With
End Sub

Private Sub CommandButton1_Click()
    Dim lngIndex As Long
    For lngIndex = 1 To 97
        OLEObjects("CheckBox" & CStr(lngIndex)).Object.Value = False
    Next
    Call DatenFiltern
End Sub

Gruß
Nepumuk

Anzeige
AW: Range von bis bei Filterarray wie?
29.01.2016 09:18:06
bis
Super! Vielen lieben Dank, funktioniert!
Schönes Wochenende an dich.
Viele Grüße,

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige