J'ai un gestionnaire dans un add-in qui fait un peu de traitement comme modifier leurs feuilles de calcul.Comment ignorer certains événements dans Excel VBA pour App_SheetChange?
J'ai déjà optimisé le gestionnaire pour effectuer uniquement le traitement si la mise à jour de l'utilisateur se produit dans la plage dont dépend le traitement (une seule colonne).
Mais lorsque les utilisateurs suppriment des lignes ou insèrent des lignes, je n'ai pas besoin de lancer ma routine.
Comment puis-je détecter en quelque sorte que le changement qui a donné lieu à l'appel à App_SheetChange()
était simplement insérer/supprimer une ligne ou d'une autre manière d'assurer que l'insertion/suppression de lignes ne remet pas App_SheetChange()
en premier lieu (ce qui semble un peu lourd)?
Une mise en garde potentiellement importante: le code a pour vivre dans le complément, je ne peux pas ajouter de code de macro à des classeurs individuels.
Oui, même ici. Vous pouvez initialiser une variable globale de 'range (" votre namedrange "). Row.count' et sur' app_sheetchange() 'regardez pour voir si elle a été étendue/contractée avec un autre nombre de' range ("votre namedrange"). Row.count '. si c'est le cas, ne faites rien, sinon, faites votre chose. –