I assume cell B4 on Sheet2 has a formula, so its value may change automatically
based on other cells, the time, etc. Paste the following event logic in the code
module for Sheet2:
Private Sub Worksheet_Calculate()
If Me.Range("B4") < 5 Then Me.Visible = False
If Me.Range("B4") >= 5 Then Me.Visible = True
End Sub
This code will run whenever Sheet2 is recalculated. To ensure that B4 always
get recalculated, you can add +(0*Now()) to the end of the formula in B4. It
won't change the value of B4, but the Now() function guarantees that excel will
recalc B4 when the workbook is recalculated.
If you're new to macros, you may want to read David McRitchie's intro at:
www.mvps.org/dmcritchie/excel/getstarted.htm