Добрый день! Помогите, пожалуйста, решить проблему: есть таблица с данными по продажам всех фирм. На основе этой таблицы необходимо сформировать акты по каждой из фирм. Я вижу это так: макрос должен создать отдельный лист на каждую фирму, в который будут подтянуты данные из исходной таблицы. Примеры исходной таблицы и акта прикладываю.
Добрый день! Помогите, пожалуйста, решить проблему: есть таблица с данными по продажам всех фирм. На основе этой таблицы необходимо сформировать акты по каждой из фирм. Я вижу это так: макрос должен создать отдельный лист на каждую фирму, в который будут подтянуты данные из исходной таблицы. Примеры исходной таблицы и акта прикладываю.Newton
Согласен =) Сводную "причесать" под акт и макрос который каждую фирму напечатает (для удобства исходные данные поместил в соседний лист) [vba]
Код
Sub Newton() Application.ScreenUpdating = False With ActiveSheet.PivotTables(1).PivotFields("Наименование фирмы") .ClearAllFilters For x = 2 To .PivotItems.Count .PivotItems(x).Visible = False Next For x = 1 To .PivotItems.Count ActiveSheet.PrintOut If x = .PivotItems.Count Then Exit For .PivotItems(x + 1).Visible = True .PivotItems(x).Visible = False Next End With Application.ScreenUpdating = True End Sub
Согласен =) Сводную "причесать" под акт и макрос который каждую фирму напечатает (для удобства исходные данные поместил в соседний лист) [vba]
Код
Sub Newton() Application.ScreenUpdating = False With ActiveSheet.PivotTables(1).PivotFields("Наименование фирмы") .ClearAllFilters For x = 2 To .PivotItems.Count .PivotItems(x).Visible = False Next For x = 1 To .PivotItems.Count ActiveSheet.PrintOut If x = .PivotItems.Count Then Exit For .PivotItems(x + 1).Visible = True .PivotItems(x).Visible = False Next End With Application.ScreenUpdating = True End Sub
Спасибо за оперативный отклик и предложенное решение. Единственное, хотелось бы, чтобы не сразу печаталось, а всё-таки создавался лист, поскольку таблица может быть с большим количеством разных фирм, скажем, по одной из них произвели корректировку, нужно распечатать только один лист, а не все заново...
Спасибо за оперативный отклик и предложенное решение. Единственное, хотелось бы, чтобы не сразу печаталось, а всё-таки создавался лист, поскольку таблица может быть с большим количеством разных фирм, скажем, по одной из них произвели корректировку, нужно распечатать только один лист, а не все заново...Newton
Сообщение отредактировал Newton - Четверг, 15.03.2018, 11:49
Файл будет рассылаться по филиалам. На местах не то что макросом, обычными функциями эксель не умеют пользоваться. Я хотел им отправлять файл с готовыми листами, чтобы они там печатали.
Файл будет рассылаться по филиалам. На местах не то что макросом, обычными функциями эксель не умеют пользоваться. Я хотел им отправлять файл с готовыми листами, чтобы они там печатали.Newton