asignar a una variable una formula

22/01/2009 - 13:35 por guihe | Informe spam
Hola a todos!
¿se puede asignar una formula como la siguiente, que aparece en la
celda E1 a una variable?
Range("E1").FormulaR1C1 = "=SQRT(SUM(R7C4:R85C4)/COUNT(R7C4:R85C4))"

es decir, algo asi
variable.FormulaR1C1 = "=SQRT(SUM(R7C4:R85C4)/COUNT(R7C4:R85C4))"
es que necesito ese valor, pero no me interesa que esté escrito en
ninguna celda.
gracias,
guihe

Preguntas similare

Leer las respuestas

#1 Juan M
22/01/2009 - 16:00 | Informe spam
"guihe" escribió en el mensaje
news:
Hola a todos!
¿se puede asignar una formula como la siguiente, que aparece en la
celda E1 a una variable?
Range("E1").FormulaR1C1 = "=SQRT(SUM(R7C4:R85C4)/COUNT(R7C4:R85C4))"

es decir, algo asi
variable.FormulaR1C1 = "=SQRT(SUM(R7C4:R85C4)/COUNT(R7C4:R85C4))"
es que necesito ese valor, pero no me interesa que esté escrito en
ninguna celda.
gracias,
guihe

Hola guihe,

Tienes varias posibilidades para hacer eso,

1) escribir en una celda esa formula, asignarla a una variable adecuada y
luego borrar la celda:
Range("E1").FormulaR1C1 = "=SQRT(SUM(R7C4:R85C4)/COUNT(R7C4:R85C4))"
MiVariable=range("E1")
range("E1").clear
Esto es de lo peor que se puede hacer, pero da el resultado.
2) Puedes aplicar las fórmulas disponibles en vba/application para realizar
las operaciones
With Application.WorksheetFunction
mivariable = Sqr(.Sum(Range("A1:A20")) / .CountA("A1:A20"))
End With
3) Puedes programar completamente la solución en vba
con bucles y todo eso.

Disculpa por no emplear los mismos rangos que has empleado tu pero no me
gusta demasiado el estilo de referencias RC, y me encuentro más agusto con
la otra forma.

Un saludo,
Juan
Respuesta Responder a este mensaje
#2 guihe
22/01/2009 - 19:29 | Informe spam
On 22 ene, 16:00, "Juan M" wrote:
"guihe" escribió en el mensajenews:
Hola a todos!
¿se puede asignar una formula como la siguiente, que aparece en la
celda E1 a una variable?
Range("E1").FormulaR1C1 = "=SQRT(SUM(R7C4:R85C4)/COUNT(R7C4:R85C4))"

es decir, algo asi
variable.FormulaR1C1 = "=SQRT(SUM(R7C4:R85C4)/COUNT(R7C4:R85C4))"
es que necesito ese valor, pero no me interesa que esté escrito en
ninguna celda.
gracias,
guihe

Hola guihe,

Tienes varias posibilidades para hacer eso,

1) escribir en una celda esa formula, asignarla a una variable adecuada y
luego borrar la celda:
    Range("E1").FormulaR1C1 = "=SQRT(SUM(R7C4:R85C4)/COUNT(R7C4:R85C4))"
    MiVariable=range("E1")
    range("E1").clear
    Esto es de lo peor que se puede hacer, pero da el resultado.
2) Puedes aplicar las fórmulas disponibles en vba/application para realizar
las operaciones
    With Application.WorksheetFunction
        mivariable = Sqr(.Sum(Range("A1:A20")) / .CountA("A1:A20"))
    End With
3) Puedes programar completamente la solución en vba
    con bucles y todo eso.

Disculpa por no emplear los mismos rangos que has empleado tu pero no me
gusta demasiado el estilo de referencias RC, y me encuentro más agusto con
la otra forma.

Un saludo,
Juan



Muchisimas gracias Juan, me quedo con la 2)
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida