Разделение ячеек по цвету текста (Microsoft Excel)
У Томаса есть столбец, который не содержит ничего, кроме текстовых значений, таких как предложения и фразы. В некоторых ячейках текст отображается красным цветом, а в остальных — черным. Ему нужен способ разделения текста, чтобы ячейки с черным текстом оставались в столбце, а ячейки с красным текстом перемещались в следующий столбец.
Есть несколько способов решить эту проблему. Возможно, самый простой подход — просто отсортировать или отфильтровать столбец, в котором есть текстовые значения. Excel позволяет фильтровать и сортировать по цвету текста, что означает, что вы можете видеть только ячейки с красным текстом или поместить все ячейки с красным текстом в непрерывный диапазон. Затем можно легко вырезать ячейки с красным текстом и вставить их в следующий столбец.
Например, вот как вы выполните сортировку:
-
Выделите ячейки, содержащие ваши текстовые значения.
-
Откройте вкладку «Данные» на ленте.
-
Щелкните инструмент «Сортировка» в группе «Сортировка и фильтр». Excel отображает диалоговое окно «Сортировка».
-
В раскрывающемся списке «Сортировать по» выберите «Цвет шрифта».
-
Используйте раскрывающийся список «Порядок», чтобы указать, какой цвет будет отображаться первым в отсортированном списке. (Здесь вы должны выбрать свой красный цвет. В раскрывающемся списке представлены все цвета, обнаруженные в диапазоне, выбранном на шаге 1.)
-
Щелкните ОК.
Теперь ваши ячейки отсортированы по цвету с цветом, указанным на шаге 5 в начале диапазона ячеек. Вы можете легко скопировать его или переместить в другой столбец. Вы можете использовать те же общие шаги, если хотите отфильтровать текстовые значения на основе цвета шрифта.
Если хотите, вы также можете использовать макрос для перемещения ячеек с красным текстом.
Вот пример, который копирует значение ячейки и цвет шрифта на одну ячейку вправо.
Sub MoveRedText1() Dim c As Range If Selection.Columns.Count > 1 Then Exit Sub For Each c In Selection If c.Font.Color = vbRed Then c.Offset(0, 1) = cell.Value c.Offset(0, 1).Font.Color = vbRed c.ClearContents c.Font.Color = vbBlack End If Next c End Sub
Чтобы использовать макрос, просто выберите ячейки, которые вы хотите проанализировать, а затем запустите макрос. Он не копирует все форматирование перемещаемых ячеек; если это важно, вы можете использовать гораздо более простой макрос для перемещения.
Sub MoveRedText2() Dim c As Range For Each c In Selection If c.Font.Color = vbRed Then _ c.Cut Destination:=c.Offset(0, 1) Next c End Sub
Если вы используете любой из этих макросов и ваши ячейки с красным текстом не перемещаются, это может быть связано с тем, что в ячейках фактически не используется красный текст. В Excel может отображаться много разных оттенков красного, поэтому вам нужно настроить макросы, чтобы убедиться, что вы проверяете правильный цвет шрифта.
_Примечание: _
Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.
link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера]
.
ExcelTips — ваш источник экономичного обучения Microsoft Excel.
Этот совет (12604) применим к Microsoft Excel 2007, 2010, 2013, 2016, 2019 и Excel в Office 365.