Here's a way to find the minimum value in a range of cells, after excluding zero

Code:
    Dim rng as range
    Set rng = Range("SomeRangeWhichAlsoHasZeroesInIt")
    dbl = Evaluate("MIN(IF(" & rng.Address & "=0,""""," & rng.Address & "))")