Can shorten the code a wee bit just using:

    For Each cl In Range("A18:A49")
        cl.EntireRow.Hidden = cl.Value = 0
    Next cl