Le filtrage de la Colonne en Fonction de la Portée VBA

Je suis actuellement un travail avec des données à partir d'un ordinateur central, pas contrairement aux données présentées ici. Dans ce cas, tout ce que j'ai sont des chaînes de caractères s'apparente à 100 AAA pour mes critères et mon objectif de l'ensemble de données. J'ai cherché une solution similaire, mais je n'ai pas trouvé directe filtre de l'aire de question pour VBA sur DONC.

J'essaie de filtrer un grand jeu de données basé sur un ensemble de critères. A l'origine, j'ai commencé à jouer avec des collections dans des classes séparées ou sous-programmes, mais ensuite j'ai compressé à l'utilisation des plages dans un seul sous-programme, comme suit:

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

Malheureusement, ma plage de cellules ne filtre pas les données, même lors de l'utilisation de critères tels que Operator:=xlOr - il simplement l'affichage de la dernière valeur de la cellule utilisée pour les critères. Le code VBA de ne pas échouer, il a juste ne filtre pas correctement en fonction de la plage.

Je suis certain qu'il existe une solution simple, mais je ne peux pas tout voir.

  • Avez-vous pensez à utiliser ADO de sorte que vous pouvez utiliser les commandes SQL pour faire le filtrage (mais toujours à l'aide d'Excel)? Effectuer une jointure interne entre vos critères et de l'ensemble de données peut adapter le projet de loi
  • Cette précédente réponse à une question similaire, aide - stackoverflow.com/a/7863452/53614 ? J'utilise ADO sur des machines au travail, où je n'ai pas les droits admin et cela fonctionne bien. YMMV, mais il vaut la peine de donner un coup de feu
  • Ok; je vais donner un coup de feu pendant le week-end et de voir comment elle se déploie en début de semaine prochaine. Il peut être bien utile pour utiliser ADO pour certains de mes plus grands ensembles de données, comme quoi en s'appuyant sur SQL est susceptible d'exécuter beaucoup plus rapide que dans le long terme. Si ça fonctionne bien, qui désigne un autre +1 pour ta réponse =)