Копировать листы Excel, макросы и графики из одной рабочей книги в другую, перемещая ссылки на новую рабочую книгу. - PullRequest
4 голосов
/ 21 июля 2009

У меня есть книга Excel с рядом функций:

  • Один основной пользовательский лист
  • Один сводный лист, основанный на данных пользовательского листа
  • Количество графиков, основанных на данных пользовательского листа (например, тип графиков с отдельной вкладкой для них, а не объектов внутри рабочего листа - я не уверен, имеют ли они специальное имя или специальный свойства)
  • Серия «фоновых» рабочих таблиц, которые рассчитывают значения для пользовательского листа
  • Макрос, позволяющий пользователю сортировать пользовательский лист по любому желаемому столбцу, на который есть ссылка в событии Worksheet_SelectionChange пользовательского листа

Однако для распространения я хотел бы отбросить листы для простоты (и размера файла - весь запрос данных включен на одном из листов). Мне все еще нужно вычислить значения для ориентированного на пользователя листа, но это делается только один раз для набора данных, так что его вполне можно скопировать как форматирование, а затем как значения.

Проблема, однако, заключается в переносе зависимого листа, графиков и макросов в новую рабочую книгу, так что вместо ссылки на старую рабочую книгу они ссылаются на новые версии листа. В идеале я хотел бы сделать это с помощью VBA или чего-то еще, но мои поиски в Google до сих пор, похоже, не очень-то актуальны.

Кто-нибудь знает, как это сделать?

1 Ответ

3 голосов
/ 21 июля 2009

Я не уверен, что полностью понимаю ваш вопрос, но я думаю, что вы хотите сделать, это создать новую версию вашей рабочей книги с меньшим количеством рабочих листов в ней ??

Для этого в VBA этот фрагмент кода является хорошим местом для начала:

Sub Macro1()
    ActiveWorkbook.SaveAs Filename:= _
        [your path here]\Book2.xls", FileFormat:=xlNormal, _

    Sheets("Sheet2").Select
    ActiveWindow.SelectedSheets.Delete
End Sub

Создание копии всей рабочей книги с последующим удалением ненужного файла гарантирует, что ссылки не ссылаются на старую рабочую книгу.

После того, как вы создали новую рабочую книгу со ссылками, довольно легко удалить все ненужные вещи (вычисления и т. Д.).

...