If you are going to use With, might as well use it throughout
<br />
Set objXLApp = CreateObject("Excel.Application")<br />
With objxlapp</p>
<p> .Visible=False<br />
.Workbooks.Add</p>
<p> With .Activesheet</p>...
If you change A22 to say A123, you will see that your formula in returns 9, which is the 3+4 for D76 and D78, but also includes the 2 for A123. The OP never said every other row would be blank, just that there might be some interspersed blanks where the value was contained.
Do you mean you want to select all cells with data in it?
<br />
Dim rng As Range</p>
<p> Set rng = ActiveCell.EntireRow.SpecialCells(xlCellTypeConstants)<br />
MsgBox rng.Address<br />
You would need VBA for that, and you could maybe use regular expressions to check for ASC(<32).
But beware ...
Some people, when confronted with a problem, think "I know, I'll use regular expressions." Now they have two problems. ~~ Jamie Zawinski