2009-04-02 6 views
1

J'ai un plugin .xll qui a enregistré quelques fonctions que nous utilisons dans nos feuilles Excel dans un certain nombre d'endroits. Les performances étaient très médiocres et nous n'avions pas le code d'origine. Nous avons donc répliqué la fonctionnalité en écrivant les fonctions dans VB dans un module. Les fonctions fonctionnent comme prévu et la performance est bien meilleure.Conversion de la fonctionnalité d'extension XLL vers un module VB natif: Formules d'actualisation de problème

Le problème est que les feuilles ne reconnaissent pas automatiquement les nouvelles fonctions. Par exemple, supposons que la formule d'une cellule est "= CustomFunction()" qui était précédemment définie dans le xll, et a maintenant été définie dans le VB. Cela restera affiché comme "#NAME" sauf si je modifie manuellement la cellule, et appuyez sur Entrée. Il prend alors correctement la formule VB et calcule.

Les astuces standard de recalcul des formules: Ctrl/Alt/Shift/F9 n'ont pas fonctionné.

Quelqu'un a-t-il déjà ressenti cela? Aucune idée sur la façon de résoudre ça?

Répondre

0

Je ferais une recherche globale et remplacerais de = CustomFunction par = TempCustomeFunction. Ensuite, un renommer global retour à = CustomFunction. Cela forcera Excel à réévaluer les fonctions. (J'ai une vague idée que vous pourriez avoir besoin d'enregistrer, d'éteindre et de redémarrer après son premier remplacement, mais essayez-le d'abord pour être sûr).

Je suis assez sûr que j'ai rencontré un problème similaire et que cela a corrigé pour moi. Je suppose que si vous avez beaucoup de classeurs à corriger, vous devrez peut-être faire cela via l'automatisation.

+0

Merci! Cela avec l'automatisation a fonctionné. – ak86

+0

Content de l'entendre. – RedBlueThing

Questions connexes