Yes, empty rows were not being handled, and it didn't recover well from missing goals or tasks either (for example, your Scorecard had "Required", but on Tasks, it was "Required Task". Replace the ShowGoalsAndTasks subroutine with this and try again. I highlighted the changes.
Sub ShowGoalsAndTasks()
Application.ScreenUpdating = False
BegRw = 3
GoalRw = 7
GoalCol = 10 ' Col J
Rows(BegRw & ":" & Rows.Count).Hidden = False
TaskEndRw = Range("A" & Rows.Count).End(xlUp).Row
' Start with all rows hidden
Rows(BegRw & ":" & TaskEndRw).Hidden = True
With Sheets("SCORECARD")
Do Until .Cells(GoalRw, GoalCol).Value = "" ' Loop through selected tasks
GoalTxt = .Cells(GoalRw, GoalCol - 3).Value
TaskTxt = .Cells(GoalRw, GoalCol).Value
Do Until Cells(BegRw, 1).Value = GoalTxt Or BegRw > TaskEndRw
BegRw = BegRw + 1 ' Find selected goal
Loop
If BegRw > TaskEndRw Then
MsgBox GoalTxt & " goal not found."
BegRw = 3
Else ' Found it
If TaskTxt = "Not Pursuing" Then
Rows(BegRw - 1).Hidden = False
Else
Rows(BegRw).Hidden = False ' Goal Name
BegRw = BegRw + 1
EndRw = BegRw
If TaskTxt = "Pursuing - Show All Tasks" Then ' Find the end of this goal section
Do Until Left(Cells(EndRw, 1).Value, 12) = "Not Pursuing" Or EndRw > TaskEndRw Or _
Cells(EndRw, 1).Value = .Cells(GoalRw + 1, 2).Value
EndRw = EndRw + 1
Loop
Else
Do Until Cells(BegRw, 1).Value = TaskTxt Or BegRw > TaskEndRw
BegRw = BegRw + 1 ' Find selected task
Loop
If BegRw > TaskEndRw Then
MsgBox TaskTxt & " task not found."
BegRw = 3
Else ' Found it
EndRw = BegRw + 1
Do Until Cells(EndRw, 1).Value <> TaskTxt
EndRw = EndRw + 1 ' Find end of selected task
Loop
End If
End If
If Not BegRw > TaskEndRw Then
Rows(BegRw & ":" & EndRw - 1).Hidden = False
End If
End If
End If
If .Cells(GoalRw + 1, GoalCol).Value = "" Then
GoalRw = .Cells(GoalRw + 1, GoalCol).End(xlDown).Row
Else
GoalRw = GoalRw + 1
End If
If .Cells(GoalRw, GoalCol).Value = "" And GoalCol = 10 Then ' Start next set of columns
GoalRw = 7
GoalCol = 20 ' Col T
If .Cells(GoalRw, GoalCol).Value = "" Then
GoalRw = .Cells(GoalRw + 1, GoalCol).End(xlDown).Row
End If
End If
Loop
End With
' Start with all employee columns visible
Columns("C:AZ").Hidden = False
End Sub
Bookmarks