Me esta volviendo loco

21/05/2005 - 23:44 por Señor Goyo | Informe spam
Hola a todos:
Veamos si alguien puede ayudarme. Como puedo evaluar ( como una formula) en
una casilla lo que he introducido en otra como texto. Me explico, que en una
cierta casilla, por ejemplo A1 se evalue ·*(C3-1) si en la casilla por
ejemplo B1 tengo escrito B7*(C3-1). QUiero decir, que lo que escribo en la
casilla B1 se evalue como formula en la casilla A1
Muchisimas gracias por vuestro interes
 

Leer las respuestas

#1 KL
22/05/2005 - 00:07 | Informe spam
Hola Señor Goyo,

Prueba la siguiente funcion definida por el usuario (VBA). La tienes que
colocar en un modulo estandar de tu archivo, para ello:

1) haz clic-derecho sobre el nombre de cualquier hoja en una de las pestañas
de la parte de abajo de la ventana de Excel.
2) Elige la opcion Ver Codigo para abrir el editor VBA.
3) Una vez en el Editor VBA, ve al menu Insertar>Modulo
4) En la ventana mas grande a la derecha pega este codigo:

Function Evaluar(frm As String)
Application.Volatile
Evaluar = Evaluate("=" & frm)
End Function

5) Ahora pulsa Alt+F11 para volver a la hoja.
6) Introduce en una celda la siguiente formula:

=Evaluar(B1)

Ojo - las funciones creadas en VBA son, por regla general, mucho mas lentas
que las funciones nativas de Excel. Y aunque no se note con el uso moderado
de las funciones VBA, si se quiere replicar la formula en rangos grandes,
podrian relentizar el recalculo de manera importante.

Saludos,
KL

Preguntas similares