VBA & Macro Problems

How to Format Cells Containing the Standalone Word Red in Excel VBA

Maira MehtabMaira Mehtab Oct 23, 2026 869 views

Question details

The user needs to apply a red cell fill to cells containing the exact word 'red', ensuring that words containing 'red' as a substring (such as 'reduce' or 'redundant') are ignored.

How to Format Cells Containing the Standalone Word Red in Excel VBA
Product
Excel
Device & OS
not provided
Scenario
Writing a VBA macro to automatically search a range of cells and highlight only the ones with the standalone target word.
Observed behavior
Standard substring searches in VBA or basic Conditional Formatting highlight unintended cells where the target word is just part of a larger word.
Before you start

Ensure that your workbook is saved as a Macro-Enabled Workbook (.xlsm) before executing VBA scripts to prevent your code from being discarded upon closing.

Solution 1Recommended

Use Word-Boundary Logic with the Like Operator

This is the most efficient native method to isolate a standalone word by checking its position relative to spaces using the VBA 'Like' operator.

Instead of using a simple substring search which captures partial words, you can specify conditions to check if the word 'red' is surrounded by spaces, appears at the very beginning of the string, at the very end, or is the only text in the cell.

You must apply the formatting to the cell's Interior object rather than the Font object to change the background fill.

1
Open the VBA Editor

Press ALT + F11 in your workbook to open the Visual Basic for Applications editor, and insert a new Module from the 'Insert' menu.

2
Define the Range and Loop

Declare a variable 'Dim c As Range' and initiate a loop through the target cells, for instance: 'For Each c In ActiveSheet.UsedRange'.

3
Apply Word-Boundary Conditions

Add an If statement using the Like operator to check for all four standalone scenarios: 'If c.Value Like "* red *" Or c.Value Like "red *" Or c.Value Like "* red" Or c.Value = "red" Then'.

4
Change the Interior Color

Inside the If block, apply the fill color by assigning vbRed to the cell's Interior object: 'c.Interior.Color = vbRed'.

Use Word-Boundary Logic with the Like Operator
Processing Multiple Sheets: To format cells across the entire workbook, wrap your code in an outer loop that iterates through 'ActiveWorkbook.Worksheets'.
Advanced Spreadsheet Editor

Create and Run Macros Seamlessly in WPS Office

WPS Spreadsheets provides advanced data processing capabilities, including full compatibility with Excel formulas and comprehensive support for VBA macros. You can easily write, edit, and run complex scripts to automate your workflow.

  1. 1. Install WPS Office: Download and install the free version of WPS Office on your device.
  2. 2. Open Your Workbook: Launch WPS Spreadsheets and open your Macro-Enabled Workbook (.xlsm).
  3. 3. Access the Developer Tab: Navigate to the 'Developer' tab on the top ribbon and click on 'Visual Basic' to open the code editor.
  4. 4. Run Your Macro: Paste your custom VBA script for formatting cells and click 'Run' to instantly apply the red fill.
Highly compatible with Microsoft Excel macro-enabled file formats (.xlsm)Intuitive built-in Visual Basic editor for quick macro executionLightweight architecture ensuring fast performance for large datasetsFree to download and use for daily office tasks and data analysis
microsoft office alternative - wps office

Frequently Asked Questions

Why is the font color changing instead of the cell background?

If the text turns red but the background remains unchanged, you likely applied the formatting to 'c.Font.Color'. To change the background fill color of the cell, you must target the Interior object using 'c.Interior.Color' or 'c.Interior.ColorIndex'.

How do I change the fill color to a custom hex code instead of the default vbRed?

You can use the native VBA 'RGB' function with the Interior object to set specific colors. Instead of vbRed, use a syntax like 'c.Interior.Color = RGB(255, 100, 100)' to apply a custom shade of red.

Will the basic VBA Like operator ignore punctuation attached to the word?

The standard 'Like' operator approach checking for spaces will fail if the word is followed by a comma, period, or other punctuation (e.g., 'red,'). To handle punctuation accurately, utilizing the Regular Expressions (RegEx) method is highly recommended.

Can I format cells containing specific text without writing VBA code?

Yes, you can achieve similar results without macros by using Conditional Formatting. Go to Home > Conditional Formatting > New Rule > Use a formula to determine which cells to format. However, writing a formula that perfectly isolates standalone words while accounting for punctuation is often more complex than using VBA.