
Помогите с написанием программы в 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
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



Создание таблицы в VBA Excel
Для создания таблицы с указанными реквизитами в VBA Excel, вам потребуется использовать объекты и методы Excel. Вот пример кода, который поможет вам создать таблицу:
```vba Sub CreateTable() Dim ws As Worksheet Dim tbl As ListObject ' Указываем лист, на котором будет создана таблица Set ws = ThisWorkbook.Worksheets("Название листа") ' Создаем таблицу Set tbl = ws.ListObjects.Add(xlSrcRange, ws.Range("A1:G1"), , xlYes) ' Задаем заголовки столбцов tbl.HeaderRowRange.Value = Array("Фамилия", "Адрес", "Дата", "Стоимость заказа", "Сумма аванса", "Задолженность", "Вид заказа") ' Форматируем таблицу tbl.TableStyle = "TableStyleMedium2" End Sub ```
В этом примере создается таблица на указанном листе с заголовками столбцов, соответствующими вашим реквизитам. Вы можете изменить `"Название листа"` на имя листа, на котором вы хотите создать таблицу.
Расчет задолженности
Для расчета задолженности, используя формулу "задолженность = стоимость заказа - аванс", вы можете добавить следующий код после создания таблицы:
```vba Sub CalculateDebt() Dim ws As Worksheet Dim tbl As ListObject Dim lastRow As Long ' Указываем лист, на котором находится таблица Set ws = ThisWorkbook.Worksheets("Название листа") ' Указываем таблицу Set tbl = ws.ListObjects("Имя таблицы") ' Получаем последнюю заполненную строку в таблице lastRow = tbl.Range.Rows.Count ' Расчет задолженности для каждой строки в таблице For i = 2 To lastRow tbl.Range.Cells(i, tbl.ListColumns("Задолженность").Index).Formula = "=" & tbl.Range.Cells(i, tbl.ListColumns("Стоимость заказа").Index).Address & "-" & tbl.Range.Cells(i, tbl.ListColumns("Сумма аванса").Index).Address Next i End Sub ```
В этом примере мы предполагаем, что таблица уже создана на указанном листе и имеет имя `"Имя таблицы"`. Вы можете изменить `"Название листа"` и `"Имя таблицы"` на соответствующие значения в вашем файле.
Итоговая информация
Для учета итоговой информации, вы можете использовать встроенные функции Excel, такие как `SUM`, `AVERAGE`, `COUNT`, и т.д. Вот пример кода, который поможет вам получить итоговую информацию для столбца "Задолженность":
```vba Sub CalculateSummary() Dim ws As Worksheet Dim tbl As ListObject ' Указываем лист, на котором находится таблица Set ws = ThisWorkbook.Worksheets("Название листа") ' Указываем таблицу Set tbl = ws.ListObjects("Имя таблицы") ' Добавляем итоговую строку tbl.ShowTotals = True ' Указываем функцию для столбца "Задолженность" tbl.ListColumns("Задолженность").TotalsCalculation = xlTotalsCalculationSum End Sub ```
В этом примере мы предполагаем, что таблица уже создана на указанном листе и имеет имя `"Имя таблицы"`. Вы можете изменить `"Название листа"` и `"Имя таблицы"` на соответствующие значения в вашем файле.
Надеюсь, эти примеры помогут вам создать таблицу с указанными реквизитами и учесть итоговую информацию. Если у вас возникнут дополнительные вопросы, не стесняйтесь задавать!


Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili