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

Имеется файл для ведения некой отчетности с наполненной информацией по виду оказанных услуг, перечнем работ и материалов.
Для более быстрого построения отчетности необходимо автоматически создавать ряд страниц в отдельной книге исходя имеющихся данных основной книге.
Таким образом, вставляя данные в две умные таблицы на странице "Свод", они автоматически добавляются в те же таблицы но на двух смежных листах (Акт, подтверждение), и также удалять при необходимости.
После чего, необходима возможность формирования новой книги, в которую необходимо скопировать уже заполненные "Акт" и "Подтверждение", но с условием, что отсутствуют формулы и макросы в создаваемой копии, но с сохранением формата исходных страниц (для печати) и с именем файла, состоящего из указанной ячейки на станице "Свод" (НаимРабот) и текущей даты.

При решении этой задачи прочитал массу статей на форумах, но так и не нашел полного решения проблемы. Куча статей описывающих в подробности какие-либо части моих запросов.
Надеюсь и уповаю на помощь!

В приложении файл с примерным описанием.
 
Приветствую.
Поставленную вами задачу поделила на две.
1. Дублирование умной таблицы сделала через Power Query. При внесении любых изменений в листе Свод идет автообновление всей книги посредством макроса
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ActiveWorkbook.RefreshAll
End Sub
Этот макрос прописан в листе Свод.
Данные на листах Акт и Подтверждение должны автоматом обновиться.
2. Создание книги с листами Акт и Подтверждение без формул - записала следующий макрос:

Код
Sub Macro2()
Dim d As String
Dim a As String
d = Application.ActiveWorkbook.Name
a = Workbooks(d).Worksheets("Свод").Range("C3").Value
b = Workbooks(d).Worksheets("Свод").Range("D3").Value
c = a & b & ".xlsx"   
Sheets("Акт").Select   
Sheets("Акт").Copy    
Cells.Select    
Selection.Copy    
Range("A1").Select    
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _        
:=False, Transpose:=False    
Windows(d).Activate    
Sheets("Подтверждение").Select    
Application.CutCopyMode = False    
Sheets("Подтверждение").Copy After:=Workbooks("Book1").Sheets("Акт")    
Cells.Select    
Selection.Copy    
Range("A1").Select    
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _        
:=False, Transpose:=False    
Application.CutCopyMode = False    
ChDir "C:\Users\****\Desktop"    
ActiveWorkbook.SaveAs Filename:=c, _        
FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False    
ActiveWindow.Close                                                        
End Sub

Это макрос можно вынести на панель быстрого доступа и запускать по необходимости.
С макросом может быть проблема в строчке
Sheets("Подтверждение").Copy After:=Workbooks("Book1").Sheets("Акт") - создаваемая у вас новая книга в зависимости от версии Excel и языка может быть под названием Книга1.
Изменено: turbidgirl - 13.09.2019 20:02:15
 
Спасибо огромное за отклик!
возникает ошибка еще в самом начале кода.
С начала ошибка в dim, а затем ошибка.
Код
Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _        :=False, Transpose:=False    Application.CutCopyMode = False
Также, почему-то не обновляются таблицы, вылетает ошибка  обновления данных.  
Изменено: HANNLEX - 13.09.2019 15:44:06
 
Код для создания книги подправила - при копировании кода строчки слились в одну.
У вас Power Query установлен? Если нет, то данные обновляться не будут.
Изменено: turbidgirl - 13.09.2019 20:03:34
 
Добрый вечер.
нет не установлено. У меня корпоративный софт, а вот сторонке не приветствуется. Возможно это делать без него?  
 
Power Query - это официальная надстройка от Microsoft Office. В Excel 2016 она встроена по умолчанию. В более ранних версиях её нужно устанавливать.
Без него, думаю, можно, но мои знания в этой области мизерны.
Изменено: turbidgirl - 13.09.2019 21:31:11
 
А как возможно обойти этот способ? У нас по стандарту стоит раненая версия
 
Честно - не знаю. Возможно имеет смысл уточнить у ваших IT специалистов о возможности подгрузить вам Power Query. Вещь то полезная. Больше помочь ничем не могу.  
 
Добрый день.

В файле реализована возможность сохранения.... Но это только самая маленькая часть задумки.
Необходимо теперь с синхронизировать 6 таблиц (во все листах).
вот синхронизации нет на форуме.  
 
И тишина
 
Может быть есть смысл перенести тему в платный раздел?
 
Я понимаю, что альтруизмом никто не занимается нынче... Но надежда таилась  
 
Цитата
HANNLEX написал:
Я понимаю, что альтруизмом никто не занимается нынче
HANNLEX, ну что Вы такое говорите? Посмотрите, сколько тем с ответами и готовыми решениями. Зачем Вы так?
И у Вас ведь нет конкретного вопроса - нужно комплексное решение.
 
Как так нет вопроса?! Мне нужна помощь в синхронизации 2 умных таблиц на каждый из 2х приложенных листов. Вот это я и не смог найти на форуме. Кучу решений других проблем нашел, а вот этого нет.  
 
Вы выборочно читаете? Пролистайте 2-3 страницы форума - все ответы и решения платные?
 
Перед тем как создать тему, я пролистал и не одну страницу форума. Да и поиском по ключевым словам искал.
Я понял ход мысли Вашей. Спасибо. Буду искать решение и дальше в просторах интернета.  
 
И не забывайте про правила: одна тема - один вопрос. А у Вас кроме дублирования таблиц ещё и создание новой книги.
 
17 сентября приложение файл, в котором я реализовал создание новой книги, то-что я не приложил изначально. В том-то и дело, что основа вопроса это синхронизация.  
 
Цитата
HANNLEX написал:
После чего, необходима возможность формирования новой книги
А это не Вы писали?
И давайте закончим на этом. Я всего лишь предложил Вам вариант, который поможет ускорить получение помощи, а Вы сразу про отсутствие альтруизма на форуме, что является откровенной ложью. Просто никого не заинтересовала Ваша тема. Так бывает...
Не хотите платить за работу - ждите. Я же силком не тащу Вас в платный раздел.
 
Спасибо Вам!  
Страницы: 1
Наверх