I have a data entry cell at B4 where you enter a currency value. If B4 is
blank I want row 19 to be hidden and if B4 is not blank then show row 19.
I've tried a heap of different things but none have worked so far.

This works if you only want to hide them and your cell has a value but I
can't think how to do it if it's a blank!

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 And UCase(Target.Value) = "COMPLETE" Then
Target.EntireRow.Hidden = True
Else
Exit Sub
End If
End Sub