Isso determinará dinamicamente a última linha usada com dados no grupo Y
Copia o intervalo A2: BA + lastRow para um array, faz um loop em cada linha e atribui cada fórmula por coluna (se a célula não estiver vazia). Em seguida, coloca a matriz de volta no intervalo
Option Explicit
Public Sub SetFormulasToNonEmptyCells()
Dim ur As Range, arr As Variant, r As Long
'The selected columns start at A (col 1) to BA (col 53)
Set ur = Sheet1.Range("A2:BA" & Sheet1.Cells(Sheet1.Rows.Count, "Y").End(xlUp).Row)
arr = ur
For r = 1 To UBound(arr)
If Len(Trim$(arr(r, 10))) > 0 Then arr(r, 10) = "=TODAY()-1" 'J (10)
If Len(Trim$(arr(r, 22))) > 0 Then arr(r, 22) = "-1" 'V (22)
If Len(Trim$(arr(r, 25))) > 0 Then arr(r, 25) = "1" 'Y (25)
If Len(Trim$(arr(r, 26))) > 0 Then arr(r, 26) = "1" 'X (26)
If Len(Trim$(arr(r, 27))) > 0 Then arr(r, 27) = "=TEXT(TODAY(),""YYYYMM"")" 'AA (27)
If Len(Trim$(arr(r, 28))) > 0 Then arr(r, 28) = "=TEXT(TODAY(),""MMM YYYY"")" 'AB (28)
If Len(Trim$(arr(r, 46))) > 0 Then arr(r, 46) = "-1" 'AT (46)
Next
ur.Formula = arr
ur.Columns(4).NumberFormat = "mmm yyyy" 'Use col #'s instead of letters
End Sub