![Цвета ячеек меняются при копировании и вставке в Excel 2010](https://rvso.com/image/1263780/%D0%A6%D0%B2%D0%B5%D1%82%D0%B0%20%D1%8F%D1%87%D0%B5%D0%B5%D0%BA%20%D0%BC%D0%B5%D0%BD%D1%8F%D1%8E%D1%82%D1%81%D1%8F%20%D0%BF%D1%80%D0%B8%20%D0%BA%D0%BE%D0%BF%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B8%20%D0%B8%20%D0%B2%D1%81%D1%82%D0%B0%D0%B2%D0%BA%D0%B5%20%D0%B2%20Excel%202010.png)
У нас есть сторонний инструмент, который создает файл Excel (xls, формат 97/2003) и форматирует некоторые ячейки в разных цветах. Когда я копирую диапазон ячеек в новый файл (xlsx, формат 2007/2010), цвета этих отформатированных ячеек полностью меняются — светло-желтый становится темно-фиолетовым и т. д. То же самое происходит, когда я перемещаю/копирую целый лист в новую книгу.
Компания, создавшая сторонний инструмент, больше недоступна (вероятно, обанкротилась), поэтому мне придется исправлять это поведение в Excel.
Почему это происходит и что я могу сделать, чтобы предотвратить или обойти эту проблему?
решение1
Щелкните правой кнопкой мыши — Специальная вставка — Все, использующие исходную тему
Это должно сохранить исходную тему нетронутой. Если это не сработает, можете ли вы разместить пример исходного документа?
решение2
Приношу извинения за повторное открытие этого поста. Я провел некоторые работы по устранению неполадок, и вот мои выводы.
Допустим, мы используем опцию "Специальная вставка - Все с использованием исходной темы", будут сохранены только ваши данные и форматирование из исходного листа, плавающие объекты не будут скопированы. Эта опция будет работать только в том случае, если на этом листе нет плавающих объектов (диаграмм, диаграмм, фигур). VBA:
Cells.Copy
Workbooks.Add
Selection.PasteSpecial Paste:=xlPasteAllUsingSourceTheme, Operation:=xlNone _
, SkipBlanks:=False, Transpose:=False
Чтобы получить все содержимое, относящееся к листу (включая плавающие объекты), нужно переместить/скопировать лист в новую/целевую рабочую книгу. После этого все цвета изменятся на другую тему, включая цвета диаграмм. Это происходит даже в том случае, если цветовые палитры обеих рабочих книг одинаковы.
Я прикрепил файл, с которым вы можете поиграться. Попробуйте скопировать/переместить лист в новую книгу и посмотрите, что произойдет, этот файл создан на платформе Office 2010. Я использую Office 365 на Win8, и эти стандартные цвета меняются на различные оттенки желтого и серого.
Эта проблема не возникает при использовании книг, созданных с нуля в Office 365, но в файлах, созданных в предыдущих версиях Office, проблема не решается при использовании более поздней версии Office.
РЕШЕНИЕ: Макет страницы ---> Цвета ---> Office 2007-2010
И в VBA:
ActiveWorkbook.Theme.ThemeColorScheme.Load ( _
"C:\Program Files\Microsoft Office 15\Root\Document Themes 15\Theme Colors\Office 2007 - 2010.xml" _
)
решение3
Я использую Excel 2010, и у меня возникла та же проблема при копировании и вставке листа из двух разных файлов.
Я нашел следующее решение:
- откройте новый файл, в который вы вставили скопированные ячейки
- щелкните правой кнопкой мыши значок Microsoft в верхнем левом углу
- нажмите на первую строку «настроить быстрый доступ...» (или, может быть, в английской версии это называется «опции»)
- перейдите к заголовку опции «сохранить» и нажмите на нее
- в конце окна нажмите на панель «Цвета» (под опцией визуального отображения листа раздела)
- Новые окна с цветовой палитрой
решение4
Excel 2013 (и, возможно, более ранние версии). Макет страницы -> Темы -> Цвета. Если ваши исходные листы были созданы с использованием одного цветового шаблона, а ваш новый лист создан с использованием другого цветового шаблона, цвета изменятся при переносе. Откройте новый лист и наведите курсор на шаблоны цветов, пока не найдете совпадение.