Note: The other languages of the website are Google-translated. Back to English

Как установить цвет ячейки равным цвету другой ячейки в Excel?

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

Установите цвет ячейки равным другому цвету ячейки с кодом VBA


Установите цвет ячейки равным другому цвету ячейки с кодом VBA

Приведенный ниже метод VBA может помочь вам установить цвет ячейки, равный другому в Excel. Пожалуйста, сделайте следующее.

1. На листе вам нужно сопоставить цвет двух ячеек, щелкните правой кнопкой мыши вкладку листа, а затем щелкните Просмотреть код из контекстного меню. Смотрите скриншот:

2. В дебюте Microsoft Visual Basic для приложений окна, вам необходимо скопировать и вставить код VBA в окно кода.

Код VBA: установить цвет ячейки равным цвету другой ячейки

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Me.Range("C1").Interior.Color = Me.Range("A1").Interior.Color
End Sub

Внимание: В коде A1 - это ячейка, содержащая цвет заливки, соответствующий цвету C1. Пожалуйста, измените их в соответствии с вашими потребностями.

Затем ячейка C1 заполняется тем же цветом, что и ячейка A1, как показано на скриншоте ниже.

С этого момента, когда цвет заливки в A1 изменяется, C1 будет автоматически соответствовать тому же цвету.


Статьи по теме:


Лучшие инструменты для работы в офисе

Kutools for Excel решает большинство ваших проблем и увеличивает вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма ...
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон...
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы... Предотвращение дублирования ячеек; Сравнить диапазоны...
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор ...
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое ...
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии...
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом ...
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF...
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
вкладка kte 201905

Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
офисный дно
Сортировать комментарии по
Комментарии (19)
Оценок пока нет. Оцените первым!
Этот комментарий был сведен к минимуму модератором на сайте
Привет, ячейка, на которую ссылается цвет, меняет цвет на основе условного форматирования. Вышеприведенное, похоже, не работает с этим, и ячейки назначения остаются пустыми. Как это можно исправить? Спасибо
Этот комментарий был сведен к минимуму модератором на сайте
У меня точно такая же проблема. Работает с ячейками без условного форматирования, но не с теми, которые это делают
Этот комментарий был сведен к минимуму модератором на сайте
Если у вас Excel 2010 или более поздняя версия, вы можете использовать функцию DisplayFormat, чтобы вернуть цвет ячейки с условным форматированием. Смотри ниже:

Private Sub Worksheet_SelectionChange (ByVal Target As Range)
Me.Range("C1").Interior.Color = Me.Range("A1").DisplayFormat.Interior.Color
End Sub
Этот комментарий был сведен к минимуму модератором на сайте
LP, вы абсолютно ПОТРЯСАЮЩИЕ!!!!!!Я очень долго пытался заставить ячейки соответствовать цвету фона условного форматирования! ты спасатель!!!
Этот комментарий был сведен к минимуму модератором на сайте
можно ли это сделать для диапазона ячеек или только для одной ячейки?
Этот комментарий был сведен к минимуму модератором на сайте
Привет, можно ли расширить это до условного форматирования; не соответствовать цвету, созданному условным форматом, но если условие условного формата соблюдено, применяемый условный формат принимает цвет определенной ячейки. Попытка использовать это в диаграмме Ганта, раскрашивая дни между датой начала и окончания, но условный формат, который генерирует полосы Ганта, должен принимать цвет ячейки, содержащей задачу (которую я установил вручную)
Этот комментарий был сведен к минимуму модератором на сайте
Привет! Не могли бы вы написать код для применения условного форматирования столбца данных к следующему столбцу? В столбце A у меня есть ряд данных от A1 до A1000, включая условное форматирование, которое применяет цвет к некоторым ячейкам. Мне нужно применить эти цвета к значениям в следующем столбце от B1 до B1000.
очень оценен.
Этот комментарий был сведен к минимуму модератором на сайте
привет, как применить тот же VBA, но к диапазону ячеек, например:

я хочу, чтобы один и тот же цвет диапазона (C8: X8) применялся к диапазону (S16: AL16) один за другим в том же порядке (S16 получает цвет C16, T16 получает цвет D8 .... и т.д)
Этот комментарий был сведен к минимуму модератором на сайте
Добрый день,

Приведенный ниже код VBA может помочь вам решить проблему. Спасибо за ваш комментарий.

Private Sub Worksheet_SelectionChange (ByVal Target As Range)
Dim xSRg, xDRg, xISRg, xIDRg как диапазон
Dim xFNum As Long
On Error Resume Next
Установите xSRg = Диапазон ("C8: X8")
Установить xDRg = диапазон ("S16:AL16")
Для xFNum = 1 Для xSRg.count
Установить xISRg = xSRg.Item(xFNum)
Установить xIDRg = xDRg.Item(xFNum)
xIDRg.Interior.Color = xISRg.Interior.Color
Следующий xFNum
End Sub
Этот комментарий был сведен к минимуму модератором на сайте
Hi

Я пытаюсь сделать то же самое, но у меня есть две таблицы (файла). Электронная таблица 1 является мастером, в котором данные обновляются вручную, а файл (электронная таблица 2) равен данным в той же ячейке, что и электронная таблица 1. Когда я открываю электронную таблицу 2, я получаю запрос на обновление с электронной таблицей 1 без проблем, но если цвет ячейки изменен в электронной таблице 1, он не обновляется в электронной таблице 2, а также не «перечеркивает» шрифты ... помогите, пожалуйста?
Этот комментарий был сведен к минимуму модератором на сайте
Это хорошее начало того, чем я хочу заниматься. Но я ищу что-то немного более сложное

Как я могу адаптировать это для применения к нескольким строкам и диапазону. Например, у меня есть столбец заголовка в столбце B, я хочу, чтобы ячейки от G до CS соответствовали цвету строки заголовка, но только в том случае, если в них что-то есть, например, буква x. Я знаю, что могу написать оператор IF и THEN, но как мне применить его к нескольким строкам, не написав код для каждой строки.
Этот комментарий был сведен к минимуму модератором на сайте
Привет Зак,
Извините, не могу вам в этом помочь. Любой вопрос об Excel, пожалуйста, не стесняйтесь размещать на нашем форуме: https://www.extendoffice.com/forum.html.
Этот комментарий был сведен к минимуму модератором на сайте
Я нашел ваш код, чтобы «установить цвет ячейки равным другому цвету ячейки», и он работает, когда я использую его на том же листе (например, из ячейки A1 в ячейку A2). Мне интересно, есть ли способ иметь такой же функциональность с другого листа (например, для копирования цвета ячейки с листа1! A1 на лист2! A1? Любая помощь, которую вы могли бы предложить, будет оценена по достоинству!
Этот комментарий был сведен к минимуму модератором на сайте
Как Крис, я заинтересован в копировании цвета фона с другого листа?
Этот комментарий был сведен к минимуму модератором на сайте
Вау - это здорово. Надеюсь, вы поможете мне адаптировать ваш сценарий к моим потребностям. Мне нужно, чтобы ячейки D10:D200 соответствовали условно отформатированному цвету ячеек A10:A200 - не могли бы вы помочь мне заставить это работать, пожалуйста. Все ячейки находятся на одном рабочем листе.
Этот комментарий был сведен к минимуму модератором на сайте
Я прикрепил снимок экрана с файлом, над которым работаю. Кажется, я не могу загрузить файл .xlsm? В этом файле я использовал оригинальный VBA из этой темы и теперь могу сопоставить условно отформатированный цвет ячейки A10 в D10. Как я могу заставить это работать с диапазоном ячеек? Я хотел бы получить цвет диапазона ячеек A10: A200 для переноса на D10: D200. Кто-нибудь может помочь, пожалуйста? В столбце A используется раскрывающийся список, но после того, как мы разместили заказ, нам нужно иметь возможность ввести номер заказа на покупку. Все элементы в списке настроены на условное форматирование по цвету (например, ORDER OK окрашивает ячейку в зеленый цвет, CLIENT TBC окрашивает ячейку в желтый цвет), но цвет становится пустым после того, как заказ на поставку был введен.
Этот комментарий был сведен к минимуму модератором на сайте
изображение не загрузилось - надеюсь, прикрепилось....
Этот комментарий был сведен к минимуму модератором на сайте
Привет -- мне трудно использовать ваш код. Я пытаюсь делать именно то, что вы говорите. Сделайте одну ячейку того же цвета, что и другая ячейка (без каких-либо значений) на том же листе. Есть ли что-то в этом коде, что нужно изменить?
Этот комментарий был сведен к минимуму модератором на сайте
Привет, я пытаюсь изменить исходные ячейки, чтобы они соответствовали другим, которые были отформатированы условно. Ваш код 
Private Sub Worksheet_SelectionChange (ByVal Target As Range)
Me.Range("C1").Interior.Color = Me.Range("A1").DisplayFormat.Interior.Color
End Sub
я приспособился к
Private Sub Worksheet_SelectionChange (ByVal Target As Range)
Me.Range("A2:C2").Interior.Color = Me.Range("D2").DisplayFormat.Interior.Color
End Sub

Это отлично работает только для одной строки. Как заставить это работать во всех нужных мне строках? Если я повторю код со следующей строкой
Private Sub Worksheet_SelectionChange (ByVal Target As Range)
Me.Range("A3:C3").Interior.Color = Me.Range("D3").DisplayFormat.Interior.Color
End Sub

Затем я получаю сообщение об ошибке компиляции: обнаружено неоднозначное имя: Worksheet_SelectionChange
Я попытался использовать код asPrivate Sub Worksheet_SelectionChange (ByVal Target As Range)
Me.Range("A2:C10").Interior.Color = Me.Range("D2:D10").DisplayFormat.Interior.ColorEnd Sub

Но все строки просто заполнены черным цветом, а не нужными цветами. Какая кодировка мне нужна?
Здесь еще нет комментариев
Оставляйте свои комментарии
Публикация как гость
×
Оценить этот пост:
0   Характеристики
Предлагаемые места

Подписывайтесь на Нас

Copyright © 2009 - www.extendoffice.ком. | Все права защищены. Питаться от ExtendOffice, | Карта сайта
Microsoft и логотип Office являются товарными знаками или зарегистрированными товарными знаками Microsoft Corporation в США и / или других странах.
Защищено Sectigo SSL