немного подкрасил макрос. теперь сохраняются только значения. сама формула находится в теле макроса.так что никто ее не увидит. Правда, что бы изменить диапазоны на втором листе надо менять диапазоны в макросе. я там изменил на 1000 строчек.надо будет больше: все 1000 в макросе поменяйте на нужную цифру
Код
Sub Cell()
Dim lLastRow As Long
Sheets("Нарушения (Город)").Range("G2").FormulaLocal = "=ПРОСМОТР(1;1/(($D2>=ahistory_our!$D$2:$D$1000)*($D2<=ahistory_our!$E$2:$E$1000)*(ПРОПИСН(A2)=ahistory_our!$A$2:$A$1000));ahistory_our!$B$2:$B$1000)"
Range("G2").Select
Application.CutCopyMode = False
Selection.AutoFill Destination:=Range("G2:G" & Cells(Rows.Count, 4).End(xlUp).Row), Type:=xlFillDefault
Range("G2:G" & Cells(Rows.Count, 4).End(xlUp).Row).Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub