nsh.Cells(148, 5).Formula = Int(settings.Range("G" & i) * nsh.Cells(146, 5).Value)
the above code gives a hardcoded output, how to get the formula the in the cell.
nsh.Cells(148, 5).Formula = Int(settings.Range("G" & i) * nsh.Cells(146, 5).Value)
the above code gives a hardcoded output, how to get the formula the in the cell.
Your code is just missing some quotation marks. Change your code to the following:
nsh.Cells(148, 5).Formula = "=Int(settings.Range("G" & i) * nsh.Cells(146, 5).Value)"
The needed changes are in bold.