Как скопировать формат из ячейки с тем же значением - PullRequest
0 голосов
/ 02 апреля 2020

У меня есть таблица расписания с рабочими днями в верхней строке и назначениями в левом столбце.

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

У каждого человека свой формат, и сейчас у меня есть правило условного форматирования для каждого человека. Например, первое правило форматирует все ячейки, которые содержат текст «AAA» с форматом AAA. Следующее правило форматирует все ячейки, содержащие текст «BBB», с форматом BBB et c.

. Хотелось бы узнать, можно ли вместо этого отформатировать списки под таблицей, а затем скопировать формат? к каждой ячейке таблицы, содержащей один и тот же текст. Мне нужно будет использовать VBA для этого или это возможно, например, с помощью условного форматирования?

1 Ответ

0 голосов
/ 03 апреля 2020

Предполагается, что диапазон с вашим расписанием называется «Расписание», и что ваш список людей находится в таблице с именем tblPeople с людьми в первом столбце.

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim rngFound As Range
    If Not Application.Intersect(Target, Range("Schedule")) Is Nothing Then 'Check if the cell being changed is in your "Schedule" range
        Set rngFound = Sheets(1).ListObjects("tblPeople").ListColumns(1).Range.Find(What:=Target.Value) 'Find your source cell
        Target.Interior.Color = rngFound.Interior.Color 'Set your target cell formats to the same formats in the source cell - add any additionaql formats as needed
    End If
End Sub
...