Прошу помочь. Набрал макрос из нескольких других для своих целей, но не хватает знаний, чтобы соединить их воедино и не вылетала ошибка. По отдельности они прекрасно работают.
Код |
---|
Sub Подготовка_удалить_колонки() 'Первая часть макроса: Перемещаем листы в новую книгу Dim ActiveSht As Worksheet Dim NewWb As Workbook For Each ActiveSht In ThisWorkbook.Worksheets ActiveSht.Visible = True ' делаем скрытые листы видимыми в исходной книге. Next Sheets(Array("Исходные данные", "Сопровод", "ПЗ МЭР", "ПЗ", "КЦ", "Справочник")).Move ' Здесь указываете имена нужных листов Set NewWb = ActiveWorkbook For Each ActiveSht In NewWb.Worksheets With ActiveSht.UsedRange .Value = .Value End With Next 'NewWb.SaveAs FileName:="C:\" & "Копия.xls" ' листов стало много - какое имя нужно давать для книги не знаю. MsgBox "Формы документов перенесены в новую книгу и сохранены.", , "" 'ThisWorkbook.Close SaveChanges:=False 'Вторая часть макроса: удаление внешних связей exist_links = ActiveWorkbook.LinkSources(xlExcelLinks) If Not IsEmpty(exist_links) Then For i = LBound(exist_links) To UBound(exist_links) ' MsgBox exist_links(i) ActiveWorkbook.BreakLink name:=exist_links(i), Type:=xlLinkTypeExcelLinks Next Else MsgBox "Связей не найдено" End If 'Третья часть макроса: Настройка формата под себя Set wb = ActiveWorkbook 'Sheets("Исходные данные").UsedRange.Value = Sheets("Исходные данные").UsedRange.Value 'Sheets("ПЗ МЭР").UsedRange.Value = Sheets("ПЗ МЭР").UsedRange.Value 'Sheets("ПЗ").UsedRange.Value = Sheets("ПЗ").UsedRange.Value Application.DisplayAlerts = False Sheets("Справочник").Delete Application.DisplayAlerts = True 'Sheets("КЦ").Visible = xlSheetsHidden Sheets("Ф.1(1д)").Visible = xlSheetsHidden ... |
Проблема возникает со второй части, т.к. в первой части переносятся листы в новую книгу и получается, что эта книга становится "активной" и уже вторая часть - удаление внешних связей работает в этой новой книге, но по факту связи должны разрываться в изначальной книге. Вопрос: как сделать первичную книгу активной (*наименование первичной книги может быть любым). И далее как потом опять не нарваться на такую же проблему при переходе в третью часть макроса? Спасибо за ответ!
P.S. Конец макроса выложен не полностью, потому что он огромный и содержит "личную" информацию, прошу не судить строго.