Sub HideBlankRowsBetweenUsedRange()
Dim URows As Range, i As Long, EndRow As Long
With ActiveSheet
EndRow = .Cells.Find("*", .Cells(1, 1), xlValues, xlWhole, xlByRows, xlPrevious).Row
For i = 1 To EndRow
If Application.WorksheetFunction.CountA(.Rows(i)) = 0 Then
If URows Is Nothing Then
Set URows = .Rows(i)
Else
Set URows = Union(URows, .Rows(i))
End If
End If
Next i
If Not URows Is Nothing Then URows.EntireRow.Hidden = True
End With
Set URows = Nothing
End Sub