Печенье помочь нам доставить наши услуги. Пользуясь нашими услугами, Вы соглашаетесь на использование нами куки.
Совет. Другие языки - Google-Translated. Вы можете посетить English версия этой ссылки.
Вход
x
or
x
x
Регистрация
x

or

Как извлечь текст на основе цвета шрифта из ячейки в Excel?

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

док-экстракт-текст-цветный-1

Извлечение текста на основе цвета шрифта из каждой ячейки


arrow синий правый пузырь Извлечение текста на основе цвета шрифта из каждой ячейки


В Excel вы можете использовать определенную функцию для извлечения текста на основе цвета шрифта.

1. Нажмите Alt + F11 , чтобы открыть окно Microsoft Visual Basic для приложений.

2. Нажмите Вставить > модуль и скопируйте следующий код VBA в появившееся окно.

VBA: Извлечение текста на основе цвета шрифта

Function GetColorText(pRange As Range) As String
	'Updateby20141105
	Dim xOut As String
	Dim xValue As String
	Dim i As Long
	xValue = pRange.Text

	For i = 1 To VBA.Len(xValue)

		If pRange.Characters(i, 1).Font.Color = vbRed Then
			xOut = xOut & VBA.Mid(xValue, i, 1)
		End If

	Next

	GetColorText = xOut
End Function

3. Затем сохраните и закройте диалоговое окно и выберите пустую ячейку рядом с списком данных, введите эту формулу = GetColorText (A1) (A1 указывает ячейку, из которой вы хотите извлечь текст), нажмите вводить чтобы получить нужный текст, а затем перетяните автозаполнение, чтобы заполнить формулу до требуемого диапазона.

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

док-экстракт-текст-цветный-2

Чаевые: В приведенном выше коде VBA, если вам нужно извлечь черный текст из ячеек, вы можете изменить имя цвета Цвет = vbRed в Цвет = vbBlack.


Относительные статьи:



Рекомендуемые инструменты производительности

Office Tab

золото star1 Принесите удобные вкладки в Excel и другое программное обеспечение Office, как Chrome, Firefox и новый Internet Explorer.

Kutools for Excel

золото star1 Удивительно! Увеличьте производительность в течение 5 минут. Не нужно никаких специальных навыков, сэкономить два часа каждый день!

золото star1 Новые возможности 300 для Excel, сделать Excel намного проще и мощнее:

  • Объединить ячейки / строки / столбцы без потери данных.
  • Объединение и объединение нескольких листов и книг.
  • Сравнение диапазонов, копирование нескольких диапазонов, преобразование текста в дату, преобразование единиц и валют.
  • Подсчет количества цветов, Пейджинговые субтитры, Расширенный сортировка и Суперфильтр,
  • Подробнее Выбрать / Вставить / Удалить / Текст / Формат / Ссылка / Комментарий / Рабочие книги / Рабочие листы Инструменты ...

Снимок экрана Kutools для Excel

Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    prudwi · 2 months ago
    The code works well if the red strings are continuous. In case they are separated in the source cell, they are glued to each other in output cell. I mean there is no space in the output if the red text strings are away from each other. Can you please provide a solution for this?
  • To post as a guest, your comment is unpublished.
    Kazam Raza · 2 months ago
    thanks, very interesting code.
  • To post as a guest, your comment is unpublished.
    Roberto · 3 months ago
    dimenticavo io ho Excel 2010
  • To post as a guest, your comment is unpublished.
    Roberto · 3 months ago
    Buonasera, grazie mille un'ottima funzione. Però ho un problema, quando val nel foglio ed inserisco es. = GetColorText (A1) mi restituisce il valore giusto però come riavvio il file mi da errore #VALORE!, se poi clicco 2 volte sopra mi da il valore corretto e così via. che posso fare?
  • To post as a guest, your comment is unpublished.
    JM · 1 years ago
    Hey, Thanks for the Tip. Works great with Red and Black.
    What if I want to parse "Purple"? changing it vbPurple does not work.
    Thanks