Probably something like this
It's not 100% bullet-proof, like an empty sheet will probably make it fail, so you might need to add some error handling
Option Explicit
Sub ShowRows()
Dim rCell As Range, rData As Range
Dim sUsername As String
With ActiveSheet
'show all
.Rows.Hidden = False
'hide empty rows at the bottton
Set rCell = .Cells(.Rows.Count, 1).End(xlUp).Offset(1, 0)
Range(rCell, rCell.End(xlDown)).EntireRow.Hidden = True
'get any text cells
Set rData = Nothing
On Error Resume Next
Set rData = ActiveSheet.Columns(1).SpecialCells(xlCellTypeVisible)
On Error GoTo 0
If rData Is Nothing Then Exit Sub
sUsername = UCase(Environ("Username"))
For Each rCell In rData.Cells
rCell.EntireRow.Hidden = (UCase(rCell.Value) <> sUsername)
Next
End With
End Sub