How to Find the First Non-Empty Cell After Blank Cells in Excel VBA
Question details
The user needs to use a VBA macro to automatically skip over a series of blank cells and locate the very next non-empty cell within a column.

- Product
- Excel
- Device & OS
- not provided
- Scenario
- Navigating through datasets that have gaps or multiple grouped blocks of data separated by blank rows without scrolling manually.
- Observed behavior
- The user needs to select the active cell, run a script, and have the selection automatically jump to the start of the next data group down the column.
Ensure that your workbook is saved as a Macro-Enabled Workbook (.xlsm) and that you have enabled macros in your spreadsheet software's Trust Center or security settings.
Use a VBA Macro to Jump to the Next Non-Empty Cell
This custom macro iterates through rows in the active column to bypass blank cells and accurately locate the start of your next data block.
The provided VBA script uses a 'Do While' loop to check the cell value. It first moves down through any consecutive populated cells, then continues moving down through blank cells until it hits data again or reaches the bottom limit of the worksheet.
Press 'Alt + F11' on your keyboard to open the Visual Basic for Applications (VBA) editor in your spreadsheet program.
In the top menu bar, click 'Insert' and select 'Module' from the dropdown to create a new blank standard module.
Copy and paste the following code into the module window: Sub FindNextGroupStart() Dim c As Range Set c = ActiveCell Do While Len(c.Value) > 0 Set c = c.Offset(1, 0) Loop Do While Len(c.Value) = 0 And c.Row < c.Worksheet.Rows.Count Set c = c.Offset(1, 0) Loop c.Select End Sub
Return to your worksheet, select a cell in your current data block, press 'Alt + F8', choose 'FindNextGroupStart' from the macro list, and click 'Run'.

Run Excel Macros Seamlessly with WPS Office
WPS Office offers robust support for VBA and macros, allowing you to automate repetitive spreadsheet tasks—like jumping to non-empty cells—just as you would in Microsoft Excel.
- 1. Install the Software: Download and install WPS Office Free on your computer.
- 2. Open Your Document: Open your macro-enabled spreadsheet file (.xlsm) using WPS Spreadsheets.
- 3. Access VBA Tools: Navigate to the 'Developer' tab on the ribbon to access the VBA Editor and manage your macros efficiently.

Frequently Asked Questions
Can I adapt this VBA code to search horizontally across columns?
Yes, you can modify the 'c.Offset(1, 0)' command to 'c.Offset(0, 1)'. This adjustment tells the macro to move one column to the right instead of one row down during the loop.
Why does the macro stop prematurely before reaching the actual next group?
If the macro stops early, it usually means the seemingly blank cells actually contain hidden space characters, apostrophes, or formula outputs returning an empty string. The 'Len(c.Value) > 0' check evaluates these invisible characters as non-empty data.
How do I prevent the macro from running infinitely if there is no more data?
The provided code already includes a safeguard: 'c.Row < c.Worksheet.Rows.Count'. This condition forces the loop to stop automatically if it reaches the very last row of the entire worksheet.




