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

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

Например, вот как вы выполните сортировку:

  1. Выделите ячейки, содержащие ваши текстовые значения.

  2. Откройте вкладку «Данные» на ленте.

  3. Щелкните инструмент «Сортировка» в группе «Сортировка и фильтр». Excel отображает диалоговое окно «Сортировка».

  4. В раскрывающемся списке «Сортировать по» выберите «Цвет шрифта».

  5. Используйте раскрывающийся список «Порядок», чтобы указать, какой цвет будет отображаться первым в отсортированном списке. (Здесь вы должны выбрать свой красный цвет. В раскрывающемся списке представлены все цвета, обнаруженные в диапазоне, выбранном на шаге 1.)

  6. Щелкните ОК.

Теперь ваши ячейки отсортированы по цвету с цветом, указанным на шаге 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.