2009-05-21 14 views
5

he definido una función en VBA de la siguiente maneraCuando trato de utilizar una función de VBA que he definido en una hoja de cálculo Excel, me sale "Esa no es una función válida"

Public Function Distance(X, Y) as Double 

Luego, en una celda Intento usar la función. Escribo "@Dis" y obtengo el menú desplegable, selecciono la función y luego ingreso los parámetros que terminan con @Distance (A1, A2) en la celda.

Cuando presiono Enter obtengo el error "Esa función no es válida".

He habilitado macros en todo el sistema, intenté guardarlo como el formato antiguo y como el formato de libro de macros habilitado en vano.

¿Qué problema hay con mi uso de esta función?

Respuesta

6

Trate de usar:

=Distance(A1, A2) 

En lugar de

@Distance(A1, A2) 

nunca he visto @ como el carácter correcto para llamar a una función en Excel.

He intentado lo siguiente en Excel, y funciona como un encanto:

En el módulo 1:

Public Function Distance(X as Double, Y as Double) as Double 
    Distance = 10 
End Function 

En una celda:

=Distance(A1, A2) 

Qué produ ces el resultado:

como se esperaba.

+0

@ se usó en fórmulas en Lotus 1-2-3 spreadsheet ... – ZEE

6

También deberá asegurarse de que el código VBA para su función esté en un Módulo y no en el área de código de la Hoja de trabajo.

3

No utilice palabras reservadas como los nombres de sus funciones. Probé un nombre Parse() y lo eché atrás hasta que lo renombré como ParseString().

+0

Este fue mi caso, las otras respuestas no ayudaron. – Taosique

Cuestiones relacionadas