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 № 1Al 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)