Exécuter du code VBA automatiquement après l'exécution d'un filtre
J'ai un code écrit qui classe les employés ainsi que leurs qualifications. Afin d'éliminer les employés avec des qualifications, j'ai appliqué un filtre pour chaque colonne que les titres de la catégorie de leur qualification.
J'ai écrit mon code VBA afin que la répétition des noms et les qualifications sont invisibles pour la facilité de l'emplacement. Cependant, je n'arrive pas à obtenir le code à exécuter automatiquement.
Actuellement, la seule façon que je peux obtenir le code à exécuter est en le définissant par
Private Sub Worksheet_Change(ByVal Target as Range) et la modification de la valeur de l'arbitraire d'un cellulaire.
j'ai trouvé ce que je crois être la bonne solution:
http://www.ozgrid.com/forum/showthread.php?t=72860
Mais je ne peut pas faire sens.
Est-il un moyen pour exécuter ce code, sans avoir à sélectionner et désélectionner une cellule après que le filtre a courir?
- Veuillez télécharger et le lien vers une feuille de calcul afin que nous puissions voir ce que vous parlez.
Vous devez vous connecter pour publier un commentaire.
Les points clés de mon article Le piégeage d'un changement à une liste filtrée à l'aide de VBA
Il n'y a plus de détails et un exemple de fichier avec l'article, les principaux points sont résumés ci-dessous
SUBTOTAL
formule dansA1
pointant vers la plage filtré sur la feuille principale.Worksheet_Calculate()
Événement est ajouté à la "factice" de la Feuille de calcul, cet Événement se déclenche lorsque leSUBTOTAL
formule des mises à jour lorsque le filtre est changé.Les deux prochaines setps sont nécessaires si l'on souhaite exécuter le Calcul du Classeur comme
Manual
Workbook_Open
Événement pour définir laEnableCalculation
propriété de toutes les feuilles, autres que les "Dummy" pour de Faux.La ozgrid code vous l'avez mentionné vous dit que vous pouvez mettre votre code dans un
worksheet_calculate
de l'événement (dans le module de feuille de calcul), tant que vous avez quelque chose qui va recalculer lorsque vous changez votre filtre automatique. Ce quelque chose peut être un sous-total de la formule que vous pouvez cacher dans votre feuille de calcul, par exemple=subtotal(3,A:A)
Encore besoin d'enquêter, mais ressemble Graphique Calculer événement est déclenché lorsque le Calcul = xlCalculationManual. Au moins fonctionne sur mon Excel 2007. Les étapes sont les suivantes:
créer une nouvelle classe par exemple clsChartEvents:
ajouter ce code à un module ou une classe: