Dónde encontrar la fuente de una función VBA en Excel


12

Tengo un libro de trabajo que utiliza una determinada función vba que no aparece en Insertar | Insertar función ... lista de cuadros de diálogo de funciones disponibles.

¿Cómo encuentro su fuente (para ver qué hace)?

Respuestas:


19

Espero entender su pregunta ... Al leer otras respuestas, veo que no es una macro grabada. Es seguro suponer que alguien lo escribió en VBA. Intenta lo siguiente:

  1. Presione Alt+ F11para abrir su editor de VBA
  2. Haga clic en Ver -> Explorador de proyectos (puede que ya esté visible) (o: CTRL+ R)
  3. Debería ver "VBAProject (el nombre de su libro de trabajo.xls). Haga clic en eso.
  4. Haga clic en una de las hojas debajo de 'Objetos de Microsoft Excel' en el explorador de proyectos.
  5. Haga clic en Ver -> Código
  6. Haga clic en Editar -> Buscar
  7. Escriba el nombre de la función en el cuadro
  8. Asegúrese de que esté seleccionado 'Proyecto actual'.
  9. Haga clic en Buscar siguiente

Eso debería llevarlo a donde está escrita la función.


Intenta esto: 3a. Haga clic en una de las hojas debajo de 'Objetos de Microsoft Excel' en el explorador de proyectos. 3b. Haga clic en Ver> Código ahora intente el Paso 4 en la respuesta original.
Sux2Lose

aplausos que lo encontraron
rutherford

3

Presione ALT+ F11para ver la ventana del proyecto VBA. Debería poder encontrar el código para la función personalizada allí.


1

Microsoft ha escrito una documentación para VBA. Se ordena por objetos, no por funciones, pero si no necesita escribir el nombre de un objeto antes de la función, es probable que sea una función de un objeto con el que está trabajando actualmente, como el libro de trabajo actual. Esta documentación se puede leer aquí. http://msdn.microsoft.com/en-us/library/bb149081.aspx Intente buscar la función en objetos como Libro de trabajo, Hoja, etc., y si no está allí, use la opción de búsqueda en el sitio ( advertencia: esta búsqueda solía ser mala, ahora parece ser una búsqueda bing, así que tal vez sea mejor ahora). No podrá ver el origen de la función, pero hay una API completa allí.

Si no puede encontrar la función allí y cree que no es una función estándar de Excel, está la cuestión de dónde obtuvo Excel para ejecutarla. Intente depurar una macro llamando a la función en cuestión y use el botón "entrar en". Si ve la fuente, ha resuelto su problema. Si no está allí, puede provenir de una aplicación externa que se comunica con Excel. Vaya al botón "Office", elija las opciones de Excel, vaya a Complementos. Puede ver los complementos instalados y buscar su documentación.

Si todo lo demás falla y / o es demasiado engorroso, siempre puede buscar en Google algo como "[nombre de la función] + Excel + VBA + Documentación]". Quizás encuentres documentación en línea.


la función definitivamente no es una función estándar de Excel. Hasta donde sé, puedo ver todas las funciones disponibles a través de Insertar | El cuadro de diálogo Función ... luego muestra todas las categorías. el nombre de la función no aparece.
rutherford

0

La función a la que hace referencia es probablemente una "macro" registrada en Excel.

Si está utilizando Office 2007, haga clic en la pestaña Ver y luego haga clic en la flecha desplegable debajo del botón Macros. Seleccione Ver macros de la lista para ver las macros registradas para esa hoja de cálculo.

Si ve el nombre de la función que le interesa en la lista, selecciónela y luego haga clic en el botón Editar para verla.


gracias por la respuesta, pero solo veo dos macros aquí y tampoco es la función que me interesa
rutherford

¿Cómo se llama la función?
Michael Todd

nombre es MarketPrice
rutherford
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.