Страницы: 1
RSS
Как настроить в таблице автоматическое дополнение данных?
 
Доброго  времени суток!

Исходные данные: имеем Акт закупки на одном листе excel,  который заполняется - распечатывается и перезаполняется новыми данными.
Подскажите  пожалуйста, возможно ли организовать автоматическое заполнение данных с  добавлением новых при "оформлении акта" (отмеченных желтым на листе  "Акт") на листах по названиям месяцев (файл "Пример 1") либо же  заполнение на листе "Итоги года" (файл "Пример 2").

Заранее благодарен!

P.S. На листе акт склонение фамилий и сумма прописью не будут работать  без надстроек VBA-Excel_Install_2.2 и !SEMTools9ru (На всякий  случай!!!).
 
Pirocsilin, можете поподробнее рассказать что вам нужно - конкретно, нужно с листа такого то подставить соответствующие данные послать на печать если в таблице несколько позиций заполнить следующую и снова послать на печать и так пока позиции не закончатся...(для примера это привел)
Не бойтесь совершенства. Вам его не достичь.
 
Заполняется лист "Акт" выделенные данные с него должны занестись в таблицу на другом листе. Затем акт распечатывается и в него заносятся новые данные которые должны "прибавиться" к таблице, в итоге должна получиться таблица по актам за год. то есть я не знаю как реализовать прибавление данных в таблицу на другом листе.
 
Pirocsilin,  какой файл пример смотреть ?так как два и они разные. т.е. я правильн о понял вы хотите что бы все что вы вносите в лист акт - попадало в итог?
Изменено: Mershik - 22.03.2020 17:18:41
Не бойтесь совершенства. Вам его не достичь.
 
Возможно ли сделать отдельную "Кнопку" при нажатии на которую данные бы копировались. Либо поставить условие на какую нибудь ячейку, при  изменении которой данные переносятся на другой лист. например на дату в ячейке H2
Файл "Пример 2"
Изменено: Pirocsilin - 22.03.2020 21:10:40
 
Pirocsilin, покажите в файле - я просто почему-то не могу сохранить ваш файл нормально..\

в модуль листа Акт
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count > 1 Then Exit Sub
If Not Intersect(Target, Range("H2")) Is Nothing Then
ilastrow = Worksheets("Итоги за год").Cells(Rows.Count, 1).End(xlUp).Row
Worksheets("Итоги за год").Cells(ilastrow + 1, 1) = CDate(Worksheets("Акт").Cells(2, 8))
Worksheets("Итоги за год").Cells(ilastrow + 1, 2) = Worksheets("Акт").Cells(32, 2)
Worksheets("Итоги за год").Cells(ilastrow + 1, 3) = Worksheets("Акт").Cells(22, 6)
Worksheets("Итоги за год").Cells(ilastrow + 1, 4) = Worksheets("Акт").Cells(23, 6)
Worksheets("Итоги за год").Cells(ilastrow + 1, 5) = Worksheets("Акт").Cells(24, 6)
Worksheets("Итоги за год").Cells(ilastrow + 1, 6) = Worksheets("Акт").Cells(25, 6)
Worksheets("Итоги за год").Cells(ilastrow + 1, 7) = Worksheets("Акт").Cells(26, 8)
 
 
End If
End Sub


Изменено: Mershik - 22.03.2020 18:26:28
Не бойтесь совершенства. Вам его не достичь.
 
Mershik,  а где конструкция With - End with? Зачем столько раз писать Worksheets("Итоги за год")? ))

Цитата
Pirocsilin написал:
Этот код нужно добавить на лист "Акт"?
Pirocsilin,  лучше в стандартный модуль (я про код из #9): удалите лист - и нет Вашего макроса )) . Модули листа в основном для событийных процедур.
 
Почему то выдает ошибку и на листе "Итоги а год" проставляет время а не дату
форматы ячеек менял, не помогло.

P.S. разобрался в чем проблема, если ставить вместо точек в дате запятые, то все работает. Почему не понимаю формат ячейки Н2 (из которой берется дата) менять пробовал - не помогает.
 
Pirocsilin, странно у меня работает и так  
Не бойтесь совершенства. Вам его не достичь.
 
Всем спасибо огромное!!! можно ставить пробелы, а формат ячейки Н2 сделать датой и тога все работает!!!
 
и в следующий раз не забывайте указывать про кросс
По вопросам из тем форума, личку не читаю.
Страницы: 1
Наверх