/ / Llamar a .Cells (i, j) en .formula en VBA - excel-vba, vba, excel

Llamando a .Cells (i, j) a .formula en VBA - excel-vba, vba, excel

Hola, quiero llamar a las celdas usando .cells (i, j) en una fórmula.

Mi macro en este momento imprime un valor / fórmula en una matriz de celdas. Funciona bien para los valores, pero estoy teniendo dificultades para insertar una fórmula que no devuelve un error.

Aquí está la línea de código relevante

Sheets("Stats").Cells(j, i).Formula = SUM(Sheets("Stats").Cells(1, i),Sheets("Stats").Cells(1, i), A3)

Esta es una línea alternativa para simplificar, básicamente, quiero poder usar tanto la llamada .cells como la llamada alfanumérica en la misma fórmula.

Muchas gracias

Respuestas

0 para la respuesta № 1

Al usar .Formula, espera una cadena, y debe estar formateada de la misma manera que la ingresaría en la celda sin VBA (incluido el "=" al principio). Tratar

Sheets("Stats").Cells(j, i).Formula = _
"=SUM(" & Sheets("Stats").Cells(1, i).address & _
"," & Sheets("Stats").Cells(1, i).address & ", A3)"

0 para la respuesta № 2

Puedes usar el With declaración en su caso puede simplificar mucho:

With Sheets("Stats")
.Cells(j, i).Formula = "=Sum(" & .Cells(1, i).Address & "," & .Cells(1, i).Address & ", A3)"
End With

Nota: cada vez que intente depurar si su fórmula es correcta, use el Debug.Print.

En tu caso, si pones i = 2 y debajo de este código:

With Sheets("Stats")
Debug.Print "=Sum(" & .Cells(1, i).Address & "," & .Cells(1, i).Address & ", A3)"

Tendrás la siguiente fórmula en la ventana inmediata:

=Sum($B$1,$B$1, A3)