2017-04-11 1 views
1

Voici mes données:Filtrer les mêmes données en utilisant VBA

PART_NUM  REV 
C210-272-002 B. 
C210-272-003 A. 
C210-272-004 A. 
C210-272-004 B. 
C210-272-005 F. 
C222-521-003 B. 
C222-521-004 A. 
C233-111-010 A. 
C233-111-010 B. 
C233-221-001 A. 

donc, comme u voir il y a quelques cellules qui sont les mêmes dans part_num mais dans le tour, ils pourraient être A ou B rev .. so Je voulais filtrer le même nombre avec le dernier rev. et il devrait le faire pour toutes les données dans les colonnes. EG:

C210-272-004 B. 
C210-272-004 A. 

je voudrais supprimer/grève/couleur avec la ligne A comme une ancienne entrée ... j'ai essayé de trouver un moyen et ne peut pas penser à un, comme je veux ne le faites qu'avec VBA pour mes études.

+0

Il est une question de la façon dont vous pensez. Vous pensez que vous voulez "filtrer" A, et ce n'est pas suffisamment pragmatique et, probablement, pas assez générique non plus. Le travail consiste à spécifier un numéro de pièce. Comment? Où? C'est la partie générique. Le système doit fonctionner pour tous les numéros de pièce. – Variatus

+0

Ensuite, vous voulez trouver la dernière REV pour ce numéro de pièce. Donc, vous faites défiler tous les numéros de pièce, s'il y a une correspondance que vous enregistrez le REV dans une variable, vous pouvez appeler 'Rev' et continuer à chercher. Si le prochain REV que vous trouvez est plus récent, remplacez le REV dans 'Rev' par le nouveau et continuez la recherche. Répétez le remplacement jusqu'à la fin. Lorsque la fin est atteinte, 'Rev' contient la dernière version. Vous avez peut-être enregistré des numéros de lignes parallèles au REV. et supprimé un plus ancien chaque fois que vous avez trouvé une version plus récente. – Variatus

+0

L'astuce consiste à raccourcir la boucle. Vous pouvez le faire en appliquant un filtre en premier. ou, si vous savez que la dernière version sera au bas de la liste, commencez à boucler à partir de la fin. Gardez à l'esprit que vous devrez commencer à partir de la fin de toute façon si vous avez l'intention de supprimer des lignes pendant la boucle. – Variatus

Répondre

2

Créer une règle de formatage conditionnel en utilisant cette formule.

=CODE($B2)<AGGREGATE(14,6, CODE($B$2:$B$11)/($A$2:$A$11=$A2), 1) 

enter image description here

+0

Comment faites-vous vos merveilleuses illustrations animées? – Variatus

+0

Wow, merci cela voit plus facile, hmm mais y at-il de toute façon je peux le faire en utilisant VBA? est-il possible d'utiliser un enregistreur de macros pour cela? Parce que je veux en savoir plus sur VBA ... mais encore merci! Cela a aidé – Zeusper

+0

@variatus comme il est un magicien HAHA :) – Zeusper