Excel скопирует все значения с одного основного листа на другие, если они определенного цвета - PullRequest
0 голосов
/ 01 мая 2018

Буду очень признателен за решение ниже:

Я ищу 8 листов.

  1. Основной лист со всеми заданиями, все они в настоящее время сортируются по следующим цветам:

Красный - живой Зеленый - выставлен счет / завершен Синий - цитируется Черный - запрос Серый - мертвый / потерянный Фиолетовый - работа в процессе Желтый - удержание

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

Может кто-нибудь помочь?

Большое спасибо,

1 Ответ

0 голосов
/ 01 мая 2018

Вы говорите "когда текст становится красным", так что, возможно, это условный формат? В любом случае вам нужно прикрепить код к событию Calculate основного листа. Этот код должен сделать следующее

посмотрите на элемент цвета активной ячейки, который вы имеете в виду (шрифт, фон, условное форматирование и т. Д.) Исходя из этого цвета, скопируйте всю строку на соответствующий лист (Можете ли вы предположить, что листы уже существуют?)

Возможно, вам понадобится оператор Select Case. Я бы объявил переменную листа и затем установил ее на соответствующий лист в списке выбора. а затем

Activecell.entirerow.copy ws.cells (ws.rows.count, 1) .end (xlup) .offset (1,0)

скопирует строку на нужный лист внизу любых существующих строк.

Попробуйте и вернитесь с кодом, если вы застряли

РЕДАКТИРОВАТЬ: Извините, я пропустил часть "нажмите кнопку". Вы можете игнорировать бит о событии вычисления листов - просто прикрепите свой код к кнопке. Единственное, о чем следует беспокоиться, это то, что вам нужно будет пройти по всем используемым строкам листа, поскольку при нажатии на кнопку может быть несколько цветных рядов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...