Okay, I got your file and I see what the problem is. You apparently created the table in D3:G51 by copying some formula results from somewhere and then using "Paste Special/Values" to put those values into the above range. What happened is those formula
that output the empty text string ("") actually put a text string of zero characters into your cells (it is kind of what happens when you copy/paste numbers that were text... you don't get real numbers, you get text values that look like numbers). Even though
the cells are formatted as General, Excel still sees them as text values. So, in my code, when I tried to create ranges of blank cells, Excel did not see them as true blanks, rather, it saw them as text strings containing no characters. Anyway, below is code
modified to handle this problem automatically. I will note, however, that cell F3 contains a #VALUE! error (as a text string) but you cannot see it because you have all the non-lettered cells formatted as white text on a white background... but if you select
cell F3 and look in the Formula Bar, you will see the #VALUE! error text. Because that should never have ended up in your data, I am going to let you delete it manually rather than include code to delete it. So, once you do clear cell F3, run the macro below
and I think everything will work as you want it to.
Sub CountBlanks()
Dim X As Long, LastRow As Long, Blanks As Range, Ar As Range
LastRow = 51
Cells(LastRow + 1, Columns.Count).Value = "X"
With Range("D3:G" & LastRow)
.Value = .Value
.Offset(, 5).ClearContents
Set Blanks = .SpecialCells(xlBlanks)
For X = 4 To 7
For Each Ar In Intersect(Blanks, Columns(X)).Areas
If Ar.Row > 3 Then Ar(1).Value = Ar.Rows.Count
Next
Next
.Offset(, 5).Value = .Value
.Offset(, 5).SpecialCells(xlConstants, xlTextValues).ClearContents
.SpecialCells(xlConstants, xlNumbers).ClearContents
End With
Cells(LastRow + 1, Columns.Count).Clear
End Sub
One final note... your grid ends at Row 51, but you never changed the assignment to the LastRow variable (see bold code line above) that I told you to do.... you had left it at 21... I corrected it to 51 for you, but you need to remember to change it on
your own if you ever change the size of your grid in the future.