Снаписанием программы в vba excel создать таблицу со следующими реквизитами: фамилия, адрес, дата, стоимость заказа, сумма аванса, задолженность, вид заказа. в отчете учесть итоговую информацию=задолженность+стоимость-аванс.

karnastia karnastia    1   29.06.2019 09:30    0

Ответы
Deykun904 Deykun904  23.07.2020 11:22
'На первом листе внесите данные
'При добавлении записей формулу вычисления задолженности добавлять не надо
'Запускаете макрос - результат (отчет) на втором листе
'На первом листе формулы пересчитывается - результаты обновляются
'Форма в этом случае -излишне
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
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика