Бет спросила, как скопировать цветовое форматирование внешней ячейки в ячейку в текущей книге. К сожалению, встроенного способа сделать это с помощью функций связывания Excel нет. Однако вы можете скопировать форматирование из одной книги в другую с помощью макроса.

В качестве примера рассмотрим следующий код макроса:

Dim lMyColor As Long Workbooks.Open Filename:="C:\mypath\myworkbook.xlsm"

lMyColor = Range("A1").Interior.Color Windows("TargetBook.xlsm").Activate Range("E8").Interior.Color = lMyColor

Этот код открывает книгу (myworkbook.xlsm) и берет цвет заливки из ячейки A1. Затем он переключается обратно на целевую книгу (из которой предполагается, что этот код запущен) и вставляет цвет заливки в ячейку E8.

Этот подход отлично работает, если вы копируете цвет заливки из одной ячейки в одну. Если вместо этого вы хотите скопировать диапазон ячеек или скопировать больше форматирования, чем просто цвет заливки, то вам может быть лучше подойдет такой подход:

Workbooks.Open Filename:= "C:\mypath\myworkbook.xlsm"

Range("A1:B6").Copy Windows("TargetBook.xlsm").Activate Range("E8").PasteSpecial Paste:=xlPasteFormats, _   Operation:=xlNone, SkipBlanks:=False, _   Transpose:=False

Опять же, этот код открывает внешнюю книгу. Затем он использует метод .Copy для диапазона ячеек (A1: B6). После переключения на целевую книгу форматы из этих ячеек вставляются в ячейки, начинающиеся с E8.

Если вы решите использовать подобный код, вы можете поместить его в макрос Auto_Open для целевой книги. Конечно, вам нужно изменить код, чтобы он ссылался на правильный путь и имена книг, а также на желаемый исходный и целевой диапазоны.

_Примечание: _

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

link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера].

ExcelTips — ваш источник экономичного обучения Microsoft Excel.

Этот совет (11169) применим к Microsoft Excel 2007, 2010, 2013, 2016, 2019 и Excel в Office 365. Вы можете найти версию этого совета для старого интерфейса меню Excel здесь:

link: / excel-Referencing_External_Cell_Colors [Ссылка на внешние цвета ячеек].