Option Explicit
Sub test()
Dim p As Point
For Each p In ActiveSheet.ChartObjects(1).Chart.SeriesCollection(1).Points
p.HasDataLabel = True
If p.DataLabel.Characters.Text = "0" Then p.MarkerStyle = xlMarkerStyleNone
p.HasDataLabel = False
Next p
End Sub