Llamado de una celda con la configuración CELLS(XX,XX)

Me llamo Pablo de Ecuador, y me estoy iniciando en el uso de macros en Excel con VBA, desde un principio empecé a usar el formato de cells(xx, xx) para seleccionar celdas, y ahora que necesito colocar una fórmula con el formato .Formula="SUM(B1:Bxx)", me doy cuenta que no lo puede hacer con la configuración de cells (xx, xx) a la que estoy acostumbrado a trabajar, bueno en uno de tus Blogs, vi en una respuesta a Jorge Torres que se utiliza la configuración

"=SUM(B1:B" & filafin & ")"

en la cual finalfin es una variable en la que se almacena el rango final para la fórmula suma, lo heprobado y me funcionó muy bien con el programa que estoy haciendo, la pregunta es si hay forma de utilizar directamente el cells(xx, xx) para colocar rangos en las fórmulas del tipo .Formula="SUM(B1:Bxx)", o necesariamente se debe utilizar el formato que viene dado.

1 Respuesta

Respuesta
1

La regla para escribir fórmulas en VBA es: entre comillas la parte fija y entre & la parte variable.

Dejo algunos códigos de ejemplo y la imagen para que observes los resultados:

Sub EJEMPLOS_FORMULAS()
'x Elsamatilde

'para una fórmula que suma un rango, a partir de la celda activa. Aquí suma desde cierta fila variable hasta la fila anterior a la activa (ejemplo verde)
filx = 2
ActiveCell.FormulaR1C1 = "=SUM(R" & filx & "C:R[-1]C)"

'para una fórmula sin referencia R1C1 (ejemplo celeste)
filafin = 5
[B10].Formula = "=SUM(B2:B" & filafin & ")"
'para dejar solo el resultado de una fórmula (ejemplo amarillo)
[E8] = Application.WorksheetFunction.Sum(Range("E2:E" & filafin))
End Sub

¡Gracias! Elsa, tu respuesta ha sido de muchísima ayuda para las programaciones que estoy haciendo.

Atentamente.

Pablo Donoso

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas