Excel telling me my blank cells aren't blank

a simple way to select and clear these blank cells to make them blank:

  1. Press ctrl + a or pre-select your range
  2. Press ctrl + f
  3. Leave find what empty and select match entire cell contents.
  4. Hit find all
  5. Press ctrl + a to select all the empty cells found
  6. Close the find dialog
  7. Press backspace or delete

This worked for me:

  1. CTR-H to bring up the find and replace
  2. leave 'Find What' blank
  3. change 'Replace with' to a unique text, something that you are
    positive won't be found in another cell (I used 'xx')
  4. click 'Replace All'
  5. copy the unique text in step 3 to 'Find what'
  6. delete the unique text in 'Replace with'
  7. click 'Replace All'

A revelation: Some blank cells are not actually blank! As I will show cells can have spaces, newlines and true empty:

example

To find these cells quickly you can do a few things.

  1. The =CODE(A1) formula will return a #VALUE! if the cell is truly empty, otherwise a number will return. This number is the ASCII number used in =CHAR(32).
  2. If you select the cell and click in the formula bar and use the cursor to select all. newline selection example

Removing these:

If you only have a space in the cells these can be removed easily using:

  1. Press ctrl + h to open find and replace.
  2. Enter one space in the find what, leave replace with empty and ensure you have match entire cell contents is ticked in the options.
  3. Press replace all.

If you have newlines this is more difficult and requires VBA:

  1. Right click on the sheet tab > view code.
  2. Then enter the following code. Remember the Chr(10) is a newline only replace this as required, e.g. " " & Char(10) is a space and a newline:

    Sub find_newlines()
        With Me.Cells
            Set c = .Find(Chr(10), LookIn:=xlValues, LookAt:=xlWhole)
            If Not c Is Nothing Then
                firstAddress = c.Address
                Do
                    c.Value = ""
                    Set c = .FindNext(c)
                    If c Is Nothing Then Exit Do
                Loop While c.Address <> firstAddress
            End If
        End With
    End Sub
    
  3. Now run your code pressing F5.


After file supplied: Select the range of interest for improved performance, then run the following:

Sub find_newlines()
    With Selection
        Set c = .Find("", LookIn:=xlValues, LookAt:=xlWhole)
        If Not c Is Nothing Then
            firstAddress = c.Address
            Do
                c.Value = ""
                Set c = .FindNext(c)
                If c Is Nothing Then Exit Do
            Loop While c.Address <> firstAddress
        End If
    End With
End Sub

Tags:

Excel

Vba