Снаписанием программы в vba excel создать таблицу со следующими реквизитами: фамилия, адрес, дата, стоимость заказа, сумма аванса, задолженность, вид заказа. в отчете учесть итоговую информацию=задолженность+стоимость-аванс.
'На первом листе внесите данные 'При добавлении записей формулу вычисления задолженности добавлять не надо 'Запускаете макрос - результат (отчет) на втором листе 'На первом листе формулы пересчитывается - результаты обновляются 'Форма в этом случае -излишне 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
'При добавлении записей формулу вычисления задолженности добавлять не надо
'Запускаете макрос - результат (отчет) на втором листе
'На первом листе формулы пересчитывается - результаты обновляются
'Форма в этом случае -излишне
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