A family of Microsoft spreadsheet software with tools for analyzing, charting, and communicating data
This should be faster:
Private Sub Worksheet_Activate()
Const StartRow = 18
Const EndRow = 817
Const ColNum = 2
Dim i As Long
Dim rng As Range
Application.ScreenUpdating = False
Range(Cells(StartRow, ColNum), Cells(EndRow, ColNum)).EntireRow.Hidden = False
For i = StartRow To EndRow
If Cells(i, ColNum).Value = "" Then
If rng Is Nothing Then
Set rng = Cells(i, ColNum)
Else
Set rng = Union(Cells(i, ColNum), rng)
End If
End If
Next i
If Not rng Is Nothing Then
rng.EntireRow.Hidden = True
End If
Application.ScreenUpdating = True
End Sub