Вы можете проверить, имеет ли ячейка формулу, проверив, является ли первый символ знаком равенства =
If Left$(cell.Formula, 1) = "=" Then
или даже лучше
If cell.HasFormula Then
, а затем переписатьформула, расширенная на ( … )/1000
cell.Formula = "=(" & Right$(cell.Formula, Len(cell.Formula) - 1) & ")/1000"
, также я рекомендую проверить, является ли cell.Value
числом, прежде чем делить на 1000
ElseIf IsNumeric(cell.Value) Then
cell.Value = cell.Value / 1000
Таким образом, вы получите что-то вроде
If Left$(cell.Formula, 1) = "=" Then
cell.Formula = "=(" & Right$(cell.Formula, Len(cell.Formula) - 1) & ")/1000"
ElseIf IsNumeric(cell.Value) Then
cell.Value = cell.Value / 1000
End If
Обратите внимание, что хотя это будет работать для обычных формул, оно будет разрушать, например, формулы массива.