Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Сохранение сводной таблицы как значения с форматированием - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Сохранение сводной таблицы как значения с форматированием (Макросы/Sub)
Сохранение сводной таблицы как значения с форматированием
Мурад Дата: Вторник, 09.03.2021, 18:52 | Сообщение № 1
Группа: Проверенные
Ранг: Ветеран
Сообщений: 513
Репутация: 18 ±
Замечаний: 0% ±

Excel 2007
Добрый день, коллеги!

Помогите с макросом, который отвяжет сводную таблицу от источника данных с сохранением исходного форматирования сводной таблицы.
Прилагаю пример. В рабочем файле сводная таблица может быть любых размеров.
К сообщению приложен файл: example.xlsx (12.8 Kb)
 
Ответить
СообщениеДобрый день, коллеги!

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

Автор - Мурад
Дата добавления - 09.03.2021 в 18:52
_Igor_61 Дата: Вторник, 09.03.2021, 20:29 | Сообщение № 2
Группа: Проверенные
Ранг: Ветеран
Сообщений: 504
Репутация: 90 ±
Замечаний: 0% ±

Excel 2007
[vba]
Код
Sub qqq()
     Range("A3:B" & Cells(Rows.Count, 1).End(xlUp).Row).Copy
With Range("E3")
    .Select
    .PasteSpecial Paste:=xlPasteValues
    .PasteSpecial Paste:=xlPasteColumnWidths
    .PasteSpecial Paste:=xlPasteFormats
End With
    'Columns("E:F").Delete Shift:=xlToLeft
End Sub
[/vba]


Сообщение отредактировал _Igor_61 - Вторник, 09.03.2021, 20:30
 
Ответить
Сообщение[vba]
Код
Sub qqq()
     Range("A3:B" & Cells(Rows.Count, 1).End(xlUp).Row).Copy
With Range("E3")
    .Select
    .PasteSpecial Paste:=xlPasteValues
    .PasteSpecial Paste:=xlPasteColumnWidths
    .PasteSpecial Paste:=xlPasteFormats
End With
    'Columns("E:F").Delete Shift:=xlToLeft
End Sub
[/vba]

Автор - _Igor_61
Дата добавления - 09.03.2021 в 20:29
Мурад Дата: Среда, 10.03.2021, 09:50 | Сообщение № 3
Группа: Проверенные
Ранг: Ветеран
Сообщений: 513
Репутация: 18 ±
Замечаний: 0% ±

Excel 2007
_Igor_61, спасибо, что ответили.
Не пойму, зачем вы выбрали диапазон E3. Рабочая сводная таблица в ширину до 20 столбцов, в высоту - до 100 строк.
Попробую из вашего макроса выделить диапазон всего листа и сохранить значения. Но если все эти операции (значения, ширина, форматы) делать через Специальную вставку, форматирование сводной таблицы не сохраняется, к сожалению. И плюс не забывайте про заголовок таблицы. Если его включить в макрос через

то форматирование сводной таблицы слетает


Сообщение отредактировал Мурад - Среда, 10.03.2021, 09:55
 
Ответить
Сообщение_Igor_61, спасибо, что ответили.
Не пойму, зачем вы выбрали диапазон E3. Рабочая сводная таблица в ширину до 20 столбцов, в высоту - до 100 строк.
Попробую из вашего макроса выделить диапазон всего листа и сохранить значения. Но если все эти операции (значения, ширина, форматы) делать через Специальную вставку, форматирование сводной таблицы не сохраняется, к сожалению. И плюс не забывайте про заголовок таблицы. Если его включить в макрос через

то форматирование сводной таблицы слетает

Автор - Мурад
Дата добавления - 10.03.2021 в 09:50
Мурад Дата: Среда, 10.03.2021, 10:20 | Сообщение № 4
Группа: Проверенные
Ранг: Ветеран
Сообщений: 513
Репутация: 18 ±
Замечаний: 0% ±

Excel 2007
_Igor_61, доработал ваш макрос для конкретного примера:
 
Ответить
Сообщение_Igor_61, доработал ваш макрос для конкретного примера:

Автор - Мурад
Дата добавления - 10.03.2021 в 10:20
Pelena Дата: Среда, 10.03.2021, 10:28 | Сообщение № 5
Группа: Админы
Ранг: Местный житель
Сообщений: 19162
Репутация: 4412 ±
Замечаний: ±

Excel 365 & Mac Excel
Может, так подойдёт
[vba]
Код
Sub www()
    Set sh = ActiveSheet
    Sheets.Add
    With ActiveSheet
        sh.Range("A3").CurrentRegion.Rows(1).Copy
        .Paste
        sh.Range("A3").CurrentRegion.Offset(1).Resize(sh.Range("A3").CurrentRegion.Rows.Count - 1).Copy
        .Range("A2").Select
        .Paste
    End With
End Sub
[/vba]


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеМожет, так подойдёт
[vba]
Код
Sub www()
    Set sh = ActiveSheet
    Sheets.Add
    With ActiveSheet
        sh.Range("A3").CurrentRegion.Rows(1).Copy
        .Paste
        sh.Range("A3").CurrentRegion.Offset(1).Resize(sh.Range("A3").CurrentRegion.Rows.Count - 1).Copy
        .Range("A2").Select
        .Paste
    End With
End Sub
[/vba]

Автор - Pelena
Дата добавления - 10.03.2021 в 10:28
Мурад Дата: Среда, 10.03.2021, 10:47 | Сообщение № 6
Группа: Проверенные
Ранг: Ветеран
Сообщений: 513
Репутация: 18 ±
Замечаний: 0% ±

Excel 2007
Pelena, спасибо!
Но, опять же, форматирование сохраняется, если копировать сводную таблицу без текстового заголовка "Сводная таблица". Я так понял, текстовое поле и сводная таблица это 2 разных типа объекта, их надо переносить последовательно. При параллельном копировании форматирование слетает.
 
Ответить
СообщениеPelena, спасибо!
Но, опять же, форматирование сохраняется, если копировать сводную таблицу без текстового заголовка "Сводная таблица". Я так понял, текстовое поле и сводная таблица это 2 разных типа объекта, их надо переносить последовательно. При параллельном копировании форматирование слетает.

Автор - Мурад
Дата добавления - 10.03.2021 в 10:47
Pelena Дата: Среда, 10.03.2021, 10:50 | Сообщение № 7
Группа: Админы
Ранг: Местный житель
Сообщений: 19162
Репутация: 4412 ±
Замечаний: ±

Excel 365 & Mac Excel
Заголовок "Сводная таблица" ведь не относится к самой сводной. Копируйте его отдельно или вместе с первой строкой сводной


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеЗаголовок "Сводная таблица" ведь не относится к самой сводной. Копируйте его отдельно или вместе с первой строкой сводной

Автор - Pelena
Дата добавления - 10.03.2021 в 10:50
Pelena Дата: Среда, 10.03.2021, 10:56 | Сообщение № 8
Группа: Админы
Ранг: Местный житель
Сообщений: 19162
Репутация: 4412 ±
Замечаний: ±

Excel 365 & Mac Excel
форматирование сохраняется, если копировать сводную таблицу без текстового заголовка "Сводная таблица"
Да, но тогда связь с источником не разрывается


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
Сообщение
форматирование сохраняется, если копировать сводную таблицу без текстового заголовка "Сводная таблица"
Да, но тогда связь с источником не разрывается

Автор - Pelena
Дата добавления - 10.03.2021 в 10:56
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Сохранение сводной таблицы как значения с форматированием (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!