Instrucción FormulaR1C1

Respuesta de
a
Usuario
Buenos Días:
Quisiera saber para que sirve la instrucción FormulaR1C1, ¿ya qué la he vistyop en vario condigos de VB pero no entiendfo muy bien que realiza o para que sirve o que fórmula es esa? Gracias de antemano.
Experto
Saludos
Con la esta Propiedad FormulaR1C1
Devuelve o establece la fórmula del objeto, usando la notación de estilo F1C1 en lenguaje de la macro.
Variant de Lectura/Escritura para objetos Range, String de Lectura/Escritura para objetos Series.
Por ejemplo:
Sub Ejemplo()
'Celda activa la propuedad Formula carga la función que devuelve el número de día del parametro fecha de hoy. Como una cadena.
    ActiveCell.FormulaR1C1 = "=DAY(TODAY())"
End Sub
En este objeto puedes almacenar dierentes funcionaes...
Además de valores en caso de así desearlo...
ActiveCell.FormulaR1C1 = "21"
En este caso solo tendrás el valor en cadena 21...
Espero que esto haya disipado tu duda...
Usuario
Hola,
Gracias por la respuesta, ¿pero cómo así usando la notación de estilo F1C1? ¿Y cuáles son los objetos series?
Experto
Saludos
No me queda clara tu pregunta... Por favor reformula...
 
Gracias..
Usuario
Hola,
He averiguado ya te he entendido mejor, pero lo que no entiendo es lo que me dices de
En este objeto puedes almacenar dierentes funcionaes...
Además de valores en caso de así desearlo...
ActiveCell.FormulaR1C1 = "21"
En este caso solo tendrás el valor en cadena 21...

Eso si no lo he entendido aun, GRACIAS
Experto
Saludos
Objeto se le llama en programación al ActiveCell o celda activa.
Este objeto tiene la capacidad o mejor dicho propiedad de utilizar funciones, estas funciones serán todas aquellas funciones o fórmulas permitidas en excel.
Funciones de texto, matemáticas, base de datos, lógicas...
En excel cuando, en una celda escribes =, activas la opción de colocar fórmulas.. estas fórmulas se aplican a tu celda activa, y podrás utilizarlas también en tus códigos de visual basic.
Por ejemplo: Quieres que automáticamente excel haga una suma.
Se puede escuchar muy simple, y fácil de hacer sin necesidad de un código VB, y es cierto, por eso mismo lo uso con la intención de hacerlo fácil.
Sub Suma()
'la celda en la que esta posicionado el cursor.. será igual a
'la fórmula suma, de corre del siguiente renglon R[1]  al renglo 5 R[5] las C se refiere a columnas pero en este caso es la misma columna por eso no tiene cambio..
    ActiveCell.FormulaR1C1 = "=SUM(R[1]C:R[5]C)"
'Elige la celda B3
    Range("B3").Select
'En la celda activa B3 coloca un valor 1
    ActiveCell.FormulaR1C1 = "1"
    Range("B4").Select
    ActiveCell.FormulaR1C1 = "2"
    Range("B5").Select
    ActiveCell.FormulaR1C1 = "3"
    Range("B6").Select
    ActiveCell.FormulaR1C1 = "4"
    Range("B7").Select
End Sub
Al finla el resultado esta en la celda B2. Con la suma de hasta 5 renglones por abajo de este renglón...
Con las comillas dobles ", las celdas activa t indican cuál es su contenido...
Espero que esto haya aclarado tu duda...
Usuario
Hola,
Ahora si entendí, muchísimas gracias resolviste mi duda por completo.