Tengo un vago recuerdo de ser capaz de utilizar las funciones de VBA para calcular los valores en Excel, así (como la fórmula de celda):Crear una función de hoja personalizada en Excel VBA
=MyCustomFunction(A3)
Puede hacerse esto?
EDIT:
Ésta es mi función de VBA firma:
Public Function MyCustomFunction(str As String) As String
La función se encuentra en el módulo ThisWorkbook
. Si trato de usarlo en la hoja de trabajo como se muestra arriba, aparece el error #NAME?
.
Solución (Gracias, codeape): La función no es accesible cuando se define ThisWorkbook
módulo. Debe estar en un módulo "adecuado", que se haya agregado manualmente al libro de trabajo.
Vale la pena señalar que las versiones más recientes de Excel tienen VBA deshabilitado si guarda el libro con una extensión .xlsx. Debe guardarlo con una extensión .xlsm para que se habilite VBA. –
Probablemente también necesite guardar el archivo de la hoja de trabajo si aún no lo hizo. Luego, cerrarlo y abrirlo de nuevo podría hacer la cosa. Una vez más, es posible que deba volver a aplicar su fórmula en caso de que la haya cambiado. – prot