TL; DR: возможно ли удалить определенный текст в ячейке, основываясь на его цвете, не теряя остальное форматирование другого содержимого ячейки. До сих пор любое рабочее решение может удалять специально окрашенный текст, но удаляет оставшееся форматирование.
Недавно я унаследовал большую электронную таблицу, и в одном разделе есть ячейки, в которых есть разрывы строк с несколькими строками текста в каждом блоке. Предыдущий человек, управляющий электронной таблицей, окрашивал каждую строку в соответствии со статусом каждого элемента. Ниже приведен пример (квадратные скобки обозначают цвет, в котором отформатирована каждая строка, также обратите внимание, что после каждого элемента должен быть разрыв строки).
31029 - Control [RED - bolded]
67934 - Control [BLUE]
41235 - Control [BLACK]
64304 - Action [GREEN - bolded]
69056 - Control [BLACK]
Существует несколько столбцов (и много строк) данных, аналогичных приведенным выше (т. Е. Один столбец для члена команды, назначенного каждому действию, один для описания и один для статуса), однако каждый соответствует одному и тому же формату цветовой кодировки.
Что мне нужно сделать, это удалить все blue (RGB(0,0,139))
элементы из каждой ячейки, но сохранить оставшееся содержимое и форматирование.
Это возможно?
Перед отправкой этого вопроса я попробовал несколько решений, таких как это на суперпользователе, где информация копируется в слово, а затем возвращается в Excel. Это работает для меня, за исключением того, что когда я удаляю подушки в Excel, все остальное форматирование удаляется (хотя я могу использовать Word, чтобы удалить синий текст).
Я также попробовал несколько решений VBA от Stackoverflow, но я не могу заставить его работать. Я также попытался удалить Pilcrow, используя функцию SUBSTITUTE в Excel, но он все равно удаляет оставшееся форматирование.
Мне повезло с «методом удаления персонажей», подробно описанным в этом ответе MrExcel. Https://www.mrexcel.com/forum/excel-questions/677646-delete-text-within-cell-specific-color-retain-formatting -remaining-text.html Однако по какой-то причине после того, как я изменил код с colorindex на цветной RGB-формат и ввел мои диапазоны, он удалил часть синего текста, но не весь. Похоже, что синий текст оставлялся, когда ячейки содержали много символов (возможно, больше, чем те переменные vba, с которыми можно иметь дело?