Canviar el valor de otra celda

28/08/2004 - 17:00 por marc_ | Informe spam
Hola a todos, tengo un problema que no se com solucionar. Necesito
canviar el valor de una celda, a partir de una funcion. Por ejemplo:

Si en la hoja escribo en una celda "=prueba(0,4)" y la funcion es:

Function prueba(num as double)as double
num = ActiveSheet.Cells(1,1).value
prueba = num
end Function

la funcion prueba me retorna el valor de la celda A1. Però lo que
necesito es que en la funcion se canvie el valor de la celda A1 o sea algo
asi como

Function prueba(num as double)as double
ActiveSheet.Cells(1,1).value = a
prueba = a
end Function

però el lenguaje no me deja cambiar el valor de la celda A1 desde esta
función.

Como podria hacer cambios a otra celda desde una funcion llamada de esta
forma, o se escribiendo en una celda cualquiera
"=nombre_funcion(<variables>)"

Gracias.
 

Leer las respuestas

#1 Adolfo
29/08/2004 - 10:39 | Informe spam
Por lo que comentas quieres poder cambiar el valor de las
celdas de una hoja desde el código de una función.

Seguidamente tienes un ejemplo.

Sub pru()
MsgBox "Valor de la Prueba: " & prueba(6)
End Sub

Function prueba(a As Byte) As Single
Dim R As Range
Set R = Range("a1.c" & a)
R.Value = Rnd
prueba = Application.WorksheetFunction.Sum(R)
End Function

No se si es algo así lo que necesitas.

Un saludo.
Adolfo
www.excelavanzado.com

Preguntas similares