web-dev-qa-db-fra.com

Où trouver une source de fonction VBA dans Excel

J'ai un classeur qui utilise une certaine fonction VBA qui n'apparaît pas dans l'insert | Insérer la fonction ... Boîte de dialogue Liste des fonctions disponibles.

Comment puis-je trouver sa source (voir ce qu'il fait)?

12
rutherford

J'espère comprendre votre question ... de lire d'autres réponses, je vois que ce n'est pas une macro enregistrée. Il est prudent de supposer que quelqu'un l'a écrit dans VBA. Essayez ce qui suit:

  1. Presse Alt+F11 Pour ouvrir votre éditeur VBA
  2. Cliquez sur Afficher -> Explorateur de projet (il peut déjà être visible.) (Ou: CTRL+R)
  3. Vous devriez voir "vbaproject (votre nom de travail.xls). Cliquez dessus.
  4. Cliquez sur l'une des feuilles sous 'Microsoft Excel Objects' dans l'explorateur de projet.
  5. Cliquez sur Afficher -> Code
  6. Cliquez sur Modifier -> Trouver
  7. Tapez le nom de la fonction dans la case
  8. Assurez-vous que "projet actuel" est sélectionné.
  9. Cliquez sur trouver ensuite

Cela devrait vous emmener à l'endroit où la fonction est écrite.

19
Sux2Lose

Presse ALTF11 pour voir la fenêtre du projet VBA. Vous devriez être capable de trouver le code de la fonction personnalisée là-bas.

3
subman

Microsoft a écrit une documentation pour VBA. Il est trié pour les objets, non pour les fonctions, mais si vous n'avez pas besoin de taper le nom d'un objet avant la fonction, il est probable qu'il s'agit d'une fonction d'un objet que vous travaillez actuellement, comme le classeur actuel. Cette documentation peut être lue ici. http://msdn.microsoft.com/en-us/library/bb149081.aspx Essayez de rechercher la fonction dans des objets tels que le classeur, la feuille, etc., et si ce n'est pas là, utilisez L'option de recherche sur le site (AVERTISSEMENT: cette recherche utilisée pour être mauvaise, il semble maintenant que ce soit une recherche Bing, alors peut-être que c'est mieux maintenant). Vous ne pourrez pas voir la source pour la fonction, mais il y a une API complète là-bas.

Si vous ne trouvez pas la fonction là-bas et pensez que ce n'est pas une fonction Excel standard, il y a la question de savoir où l'excellent l'obtient de l'excité afin de l'exécuter. Essayez de déboguer une macro appelant la fonction en question et utilisez la "étape dans le bouton". Si vous voyez la source, vous avez résolu votre problème. Si ce n'est pas là, cela peut provenir d'une application externe communiquant avec Excel. Allez sur le bouton "Office", choisissez Options Excel, y allez à des add-ins. Vous pouvez regarder les additionnels installés et traquer leur documentation.

Si tout le reste échoue et/ou est trop lourd, vous pouvez toujours Google quelque chose comme "[Nom de la fonction] + Excel + VBA + Documentation]". Peut-être que vous trouverez une documentation en ligne.

1
rumtscho

La fonction que vous référencez est probablement une "macro" enregistrée dans Excel.

Si vous utilisez Office 2007, cliquez sur l'onglet Affichage, puis sur la flèche déroulante sous le bouton Macros. Sélectionnez Afficher les macros dans la liste pour afficher les macros enregistrées pour cette feuille de calcul.

Si vous voyez le nom de la fonction souhaitée, sélectionnez-la, puis cliquez sur le bouton Modifier pour la voir.

0
Michael Todd