Após o esclarecimento, experimente esta função personalizada:
Function HEADERFOROVERZERO(rng As Range)
Dim rngCell, returnString: returnString = ""
For Each rngCell In rng
If (IsNumeric(rngCell.Value)) Then
If (rngCell.Value > 0) Then
returnString = returnString & Cells(1, rngCell.Column).Value & "-"
End If
End If
Next
If (Len(returnString) > 1) Then
returnString = Left(returnString, Len(returnString) - 1)
End If
HEADERFOROVERZERO = returnString
End Function