This is "top of head" code so treat with care. Alco it may nor work if the chart is linked to Excel.
Code:
Sub DeleteZero()
Dim m As Integer
Dim a As Variant
Dim L As Integer
Dim ocht As Chart
Dim b_val As Boolean
Dim oshp As Shape
Dim osld As Slide
For Each osld In ActivePresentation.Slides
For Each oshp In osld.Shapes
If oshp.HasChart Then
Set ocht = oshp.Chart
If ocht.HasLegend Then
For m = ocht.SeriesCollection.Count To 1 Step -1
a = ocht.SeriesCollection(m).Values
For L = 1 To ocht.SeriesCollection(m).Points.Count
If a(L) <> 0 Then b_val = True
Next L
If Not b_val Then ocht.Legend.LegendEntries(m).Delete
b_val = False
Next m
End If 'legend
End If ' chart
Next oshp
Next osld
End Sub