'На первом листе внесите данные
'При добавлении записей формулу вычисления задолженности добавлять не надо
'Запускаете макрос - результат (отчет) на втором листе
'На первом листе формулы пересчитывается - результаты обновляются
'Форма в этом случае -излишне
Dim i, j, s, a
Sub Othet ()
Dim info As Variant
'Clear OTHET(2 list)
Sheets(2).Select
Range("A1:I1").Select
With Selection
.HorizontalAlignment = xlGeneral: .VerticalAlignment = xlBottom
.AddIndent = False: .IndentLevel = 0: .ShrinkToFit = False: .MergeCells = True
End With
Selection.Font.Bold = True
With Selection
End With
Sheets(2).Cells(1, 1) = "ОТЧЕТ"
'Shapka 1 list
Sheets(1).Select
info = Array("", "фамилия", "адрес", "дата", "стоимость заказа", "сумма аванса", "задолженность", "вид заказа")
For i = 1 To UBound(info)
Cells(1, i) = info(i)
Next
i = 2
'Расчет долга
While Cells(i, 1) <> ""
Cells(i, 5) = "=D" + Chr(48 + i) + "-E" + Chr(48 + i)
i = i + 1
Wend
Rows("1:1").Select
Selection.AutoFilter
a = "" + ">" + InputBox("Укажите задолженность", "", 0) + ""
Selection.AutoFilter field:=5, Criteria1:=a, Operator:=xlAnd
Range("A1:G" + Chr(48 + i) + "").Copy Sheets(2).Range("a2")
Sheets(1).Select
Selection.AutoFilter
End Sub