2010-12-08 6 views
6

J'ai un ensemble de fonctions vba définies par l'utilisateur qui se trouvent dans un module Excel, qui sont ensuite appelées à partir d'une feuille de calcul Excel ... tout a bien fonctionné à ce stade.Appel de la fonction de feuille de calcul excel depuis une cellule Excel

On m'a demandé de déplacer le vba du module vers la page de codes de la feuille de travail. Quand j'ai fait ceci, j'ai trouvé que je ne peux pas appeler n'importe laquelle des fonctions des cellules sur la feuille de calcul ... les noms ne montrent simplement pas comme existant. Est-il possible d'appeler des fonctions de feuille de calcul à partir d'une cellule Excel? En outre, y a-t-il un problème à appeler une fonction de feuille de calcul d'une fonction définie par l'utilisateur dans un autre module ou code de feuille de calcul?


EDIT:

J'ai trouvé si je l'appelle par le sheetname.functionname, il renvoyait un message d'erreur qui inclut « Les conflits de nom avec un nom Excel intégré ou le nom d'un autre objet dans le classeur "... où si j'utilise sheetname.anythingelse il résout juste à #NAME?

Est-ce que cela signifie que les fonctions Excel ne peuvent pas être appelées à partir d'une feuille?

Répondre

7

N ° Fonctions de l'objet feuille de calcul ne peuvent être appelées à partir de la feuille sous forme de fonctions définies par l'utilisateur.

L'objet Worksheet est conçu pour répondre aux événements se produisant sur une feuille de calcul. Vous ne pouvez pas y mettre des fonctions définies par l'utilisateur. Les fonctions définies par l'utilisateur doivent vivre dans un module.

Si votre fonction définie par l'utilisateur réside dans un module, vous n'aurez aucun problème à l'appeler du code n'importe où ailleurs ... y compris dans la feuille de calcul "code-behind".

Questions connexes