How to extract text based on font color from a cell in Excel?
If you have a data list with some red text in each cell in Excel as shown as below screenshot, and do you know how to extract the red text only? Now I will introduce a quick way to solve the puzzle that extracts text based on the font color from a cell in Excel.
- Reuse Anything: Add the most used or complex formulas, charts and anything else to your favorites, and quickly reuse them in the future.
- More than 20 text features: Extract Number from Text String; Extract or Remove Part of Texts; Convert Numbers and Currencies to English Words.
- Merge Tools: Multiple Workbooks and Sheets into One; Merge Multiple Cells/Rows/Columns Without Losing Data; Merge Duplicate Rows and Sum.
- Split Tools: Split Data into Multiple Sheets Based on Value; One Workbook to Multiple Excel, PDF or CSV Files; One Column to Multiple Columns.
- Paste Skipping Hidden/Filtered Rows; Count And Sum by Background Color; Send Personalized Emails to Multiple Recipients in Bulk.
- Super Filter: Create advanced filter schemes and apply to any sheets; Sort by week, day, frequency and more; Filter by bold, formulas, comment...
- More than 300 powerful features; Works with Office 2007-2019 and 365; Supports all languages; Easy deploying in your enterprise or organization.
In Excel, you only can use the defined function to extract the text based on font color.
1. Press Alt + F11 keys together to open the Microsoft Visual Basic for Applications window.
2. Click Insert > Module and copy the follow VBA code to the popped out window.
VBA: Extract text based on font color
Function GetColorText(pRange As Range) As String 'UpdatebyExtendoffice20220621 Dim xOut As String Dim xValue As String Dim i As Long Dim TextColor TextColor = RGB(255, 0, 0) 'colorindex RGB xValue = pRange.Text For i = 1 To VBA.Len(xValue) If pRange.Characters(i, 1).Font.Color = TextColor Then xOut = xOut & VBA.Mid(xValue, i, 1) End If Next GetColorText = xOut End Function
3. Then save and close the dialog, and select a blank cell next to the data list, type this formula =GetColorText(A1) (A1 indicates the cell you want to extract text from), press Enter key to get the needed text, then drag autofill handle to fill the formula to the range you want.
Now you can see all red text are extracted.
Tip: In the above VBA code, you can change the color rgb in this script TextColor = RGB(255, 0, 0) to others to meet your need.