На самом деле вы не устанавливаете диапазон в цикле:
Этот простой цикл сделает работу:
Dim Rge As Range
Dim cl As Range
Set Rge = Sheets("ForPrint").Range("B:B").Find("Stop")
For Each cl In Sheets("ForPrint").Range("B24:B" & Rge.Row).SpecialCells(xlCellTypeBlanks)
cl.EntireRow.Hidden = True
Next
В противном случае в вашем коде Попробуйте:
Dim Count As Integer
Count = 0
Dim Rge As Range
Set Rge = Sheets("ForPrint").Range("b24").Offset(Count, 0)
Do Until Rge.Value = "Stop"
Set Rge = Sheets("ForPrint").Range("b24").Offset(Count, 0)
If Rge.Value = "" Then
Rge.EntireRow.Hidden = True
End If
Count = Count + 1
Loop