Страницы: 1
RSS
Строка общей суммы в конце таблицы, Нужна помощь с добавлением строки снизу таблицы или формула сдвига на одну строку при добавлении.
 
Всем привет. Постараюсь правильно сформулировать.
Есть таблица с кнопкой добавления товара из формы лист бокс, записывает в таблицу, добавляя новую строку. Данная таблица будет использоваться как спецификация для выставления счёта. В конце нужен общий итог. Либо добавлялся по закрытию формы, либо был сразу, но сдвигался с появлением строк. Заранее спасибо за помощь.
 
При открытии формы найти итоговую строку, удалить. При закрытии пробежаться по строкам таблицы, получить сумму и вставить последней строкой. Можно вместо цикла по строкам вставить формулу суммы.

Но такое заполнение я бы несоветовал. Правильнее заполнять таблицу, сколько нужно, без подведения итогов. Для итога отдельный макрос, который запустить после полного заполнения таблицы.
Код
Sub TotalSum()
    Dim lRw As Long
    
    With Worksheets("1515")
        lRw = .Cells(.Rows.Count, 2).End(xlUp).Row
        .Cells(lRw + 1, 4).Value = "ÈÒÎÃÎ"
        .Cells(lRw + 1, 5).Value = Application.Sum(.Range("E3:E" & lRw))
    End With
End Sub
Если нужно контролировать сумму, можно выводить ее в label, textbox (при открытии формы получить сумму из заполненных строк, при заполнении суммировать.
 
Цитата
vikttur написал:
Правильнее заполнять, сколько нужно, а для итога отдельный макрос, который запустить после полного заполнения таблицы
Не могу допереть по какому условию или как экселю ткнуть куда ставить текст, какие ячейки объединять  и куда формулу писать. Вот что то так нужно.
По идеалу что б просто готовое двигал вниз при заполнении.
 
О, да там умная таблица... Запишите макрорекодером вставку итоговой строки.
 
Большое спасибо, всё работает)
Только вот проблему не решает полностью( Может быть вы знаете команду на добавление строки? Вот что бы при появление строки в самой таблице автоматически добавлялась строка снизу и сдвигала всё, что будет после таблицы и не привязывалась к ней?)
 
Код
Option Explicit
Private Sub Button1_Click()
    Dim iRow As Long
    With List1
        iRow = .ListObjects("table1").ListRows.Add.Range.Row
        .Cells(iRow, "B").Value = ListBox1.Value
        .Cells(iRow, "D").Value = TextBox1.Value
    End With
End Sub
Строка итогов и строки ниже ее будут сдвигаться.
Изменено: sokol92 - 13.08.2020 17:05:50
Владимир
 
Спасибо Вам большое!!! То, что надо! Всё работает! Двигаемся дальше)))
 
Успехов!
Владимир
Страницы: 1
Наверх