Помогите, пожалуйста, расширить этот макрос – чтобы он сохранял «как значения» и сводные таблицы тоже. С сохранением форматов ячеек.
Задача: есть файл, в котором несколько листов, на которых могут быть таблицы с формулами, сводные таблицы и графики. Формулы могут содержать ссылки на другие книги. Надо передать этот файл другому пользователю, чтобы он мог его открыть (через Excel или Google Tabs) и чтобы формулы не «слетели».
В ручном режиме пользуюсь «Вставить, как значения». Для сводных – два раза «Вставить, как значения» и «Вставить форматирование».
Вышеприведенный макрос очень помогает, но игнорирует сводные таблицы. Выкладываю файл с этим макросом.
Mershik написал: avbook ,а где хоть одна сводная таблица? и вы не обновляйте ее и все
Если нужно приложить файл со сводной, то я, конечно, это сделаю. Но я заранее не знаю, какая именно будет сводная, и сколько их будет. И еще может быть более одной сводной на одном листе. По поводу "не обновляйте" - надо сделать так, чтобы пользователь конечного файла (директор) "не заморачивался"...
avbook: Макрос который заменяет сводную таблицу на простую таблицу с сохранением формата ячеек
1. Скопировать сводную 2. Вставить только значения 3. Вставить форматы Записать это в макрорекордер
Вот обработанный вариант (вставляет выделенный диапазон на новый лист):
Код
Sub Report()
Dim rng As Range
Set rng=selection
Worksheets.Add After:=ActiveSheet
rng.Copy
With Range("A1")
.PasteSpecial Paste:=xlPasteColumnWidths
.PasteSpecial Paste:=xlPasteValues
.PasteSpecial Paste:=xlPasteFormats
End With
End Sub
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Jack Famous написал: Вот обработанный вариант (вставляет выделенный диапазон на новый лист):
Большое спасибо. Этот вариант работает, если выделить именно сводную. А если выделить весь лист - то форматирование слетает. Трудность в том, что мне надо "заменить" - в том же файле, на том же месте - сводную на "простую" таблицу. И еще в том, что я заранее не знаю, сколько будет сводных, на каких листах и сколько сводных на листе... Ваш макрос очень удобный, но "по факту" не избавляет от ручного труда.