J'ai une table et je voudrais filtrer les lignes par les valeurs dans une de ses colonnes. Les valeurs utilisées pour filtrer sont stockées dans une colonne distincte ne figurant pas dans la table. C'est ce que j'ai jusqu'à présent:Table de filtre dans excel VBA basé sur une colonne de valeurs
Dim table1 As ListObject
Dim range1 As Range
Set range1 = ActiveSheet.range("AM23:AM184")
'get table object
table1.range.AutoFilter Field:=3, Criteria1:=???
Je ne sais pas quoi mettre pour les critères1. Je sais que cela doit être un tableau et je peux le mettre à quelque chose comme Array ("12", "2", "13") mais ce dont j'ai besoin pour égaler, ce sont les valeurs spécifiées dans range1. Toute aide serait grandement appréciée.
EDIT: J'ai été en mesure d'obtenir mes valeurs de plage dans un tableau en faisant range1.Value, puis en convertissant le Variant en un tableau de chaînes. Cela n'a pas fonctionné comme je le voulais, car il définit simplement mon filtre sur la dernière valeur de mon tableau. Par exemple, si mon tableau contient les ID ("12", "44", "13", "22") et que j'applique Criteria1 à ce tableau et l'exécute, le filtre n'a que 22 sélectionnés et tous les autres sont désélectionnés. 12, 44 et 13.
Avez-vous essayé l'enregistrement de la Autofilter à obtenir un exemple de code? –
ouais, j'ai eu le code similaire ci-dessus, mais il a juste mis un objet Array pour Criteria1 avec les valeurs que j'ai désélectionné comme entrées dans l'objet Array – user972276
Je ne sais pas comment faire manuellement ce qui est soit le problème – user972276