You could try using COUNTIF
The code would be something like:
With Application.WorksheetFunction
    If .CountIf(Range("B2:G2"), "<=0") > 0 Then
        Cells(3, 8) = ""
    Else: Cells(3, 8) = [A3] - [A2]
    End If
End With
but from my experience the worksheet functions are faster. So if you could do it without code... your choice.