Filterung Spalte Basierend auf VBA-Bereich

Arbeite ich jetzt mit Daten aus einem mainframecomputer nicht im Gegensatz zu den hier präsentierten Daten. In diesem Fall habe ich alle strings sind ähnlich 100-AAA für meine Kriterien und für mein Ziel-Datensatz. Ich habe gesucht, für eine ähnliche Lösung, aber ich habe nicht gefunden, einen direkten filter durch Auswahl Frage für VBA.

Ich bin versucht zu filtern, einen großen Datensatz auf der Grundlage einer Reihe von Kriterien. Ursprünglich habe ich angefangen zu spielen mit Sammlungen in separaten Klassen/Subroutinen, aber dann habe ich komprimiert, um die Nutzung von Bereichen innerhalb einer einzigen Unterprogramm, wie folgt:

Sub FilterTest1()

Dim RngOne As Range
Dim LastCell As Long

Sheets("Criteria").Activate
Sheets("Criteria").Select
Range("A1").Select

LastCell = Application.WorksheetFunction.CountA(ActiveSheet.Range("A:A"))

Set RngOne = ActiveSheet.Range("A2:A" & LastCell)

Sheets("Sheet 1").Activate
Sheets("Sheet 1").Select

With ActiveSheet
    If .FilterMode Then
    .ShowAllData
    End If
End With

Columns("A:A").Select
Selection.AutoFilter
ActiveSheet.Range("A:A").AutoFilter Field:=1, Criteria1:=RngOne, Operator:=xlOr

End Sub

Leider meine Reihe von Zellen nicht, die Daten filtern, auch wenn Sie mit Kriterien wie Operator:=xlOr - es zeigt nur die Letzte Zelle Wert für die Kriterien. Der VBA-code nicht scheitern - es ist nur nicht die filter entsprechend auf der Reihe.

Ich bin sicher, es gibt eine einfache Lösung, aber ich kann nicht ganz sehen.

Haben Sie geprüft über ADO, so dass Sie können verwenden Sie SQL-Befehle an die Filterung (aber immer noch mit Excel)? Durchführung einer inner-join zwischen Ihren Kriterien und der Datensatz möglicherweise die Rechnung passen
Hat diese frühere Antwort zu einer ähnlichen Frage helfen - stackoverflow.com/a/7863452/53614 ? Ich benutze ADO auf Maschinen bei der Arbeit, wo ich keine admin-Rechte und es funktioniert OK. YMMV, aber es lohnt sich, es ein Schuss
Okay; ich gebe es einen Schuss über das Wochenende und sehen Sie, wie setzt es Anfang Nächster Woche. Es kann gut sein, lohnt es sich ADO verwenden, für einige meiner größeren datasets, wie alles, was sich auf SQL wird wahrscheinlich ausführen, dass sehr viel schneller auf die Dauer. Wenn es funktioniert, gut, dass heißt, ein weiteres +1 für deine Antwort =)

InformationsquelleAutor JackOrangeLantern | 2012-08-08

Schreibe einen Kommentar