Вы говорите "когда текст становится красным", так что, возможно, это условный формат?
В любом случае вам нужно прикрепить код к событию Calculate основного листа. Этот код должен сделать следующее
посмотрите на элемент цвета активной ячейки, который вы имеете в виду (шрифт, фон, условное форматирование и т. Д.)
Исходя из этого цвета, скопируйте всю строку на соответствующий лист
(Можете ли вы предположить, что листы уже существуют?)
Возможно, вам понадобится оператор Select Case. Я бы объявил переменную листа и затем установил ее на соответствующий лист в списке выбора.
а затем
Activecell.entirerow.copy ws.cells (ws.rows.count, 1) .end (xlup) .offset (1,0)
скопирует строку на нужный лист внизу любых существующих строк.
Попробуйте и вернитесь с кодом, если вы застряли
РЕДАКТИРОВАТЬ: Извините, я пропустил часть "нажмите кнопку". Вы можете игнорировать бит о событии вычисления листов - просто прикрепите свой код к кнопке. Единственное, о чем следует беспокоиться, это то, что вам нужно будет пройти по всем используемым строкам листа, поскольку при нажатии на кнопку может быть несколько цветных рядов.