Revisamos profundamente cada sección en nuestra web con la meta de mostrarte siempre la información certera y actual.
Solución:
Creo que esto cae en el mundo de VBA. Trabajando en individual las etiquetas de datos son bastante limitadas de lo contrario.
Aquí hay un código que iterará a través de la serie en un gráfico, sus puntos de datos y luego eliminará las etiquetas que corresponden a un punto con Value=0
.
Hay una línea de código allí (comentado) que agregará las etiquetas de datos nuevamente a todos los puntos para restablecerlos. Si solo desea eliminar, puede omitir esta línea.
Editar: agregado en un bucle externo en ActiveSheet.ChartObjects
para procesar todos los gráficos en una hoja.
Sub RemoveZeroValueDataLabel()
'runs through every chart on the ActiveSheet
Dim cht As Chart
Dim chtObj As ChartObject
For Each chtObj In ActiveSheet.ChartObjects
Set cht = chtObj.Chart
Dim ser As Series
For Each ser In cht.SeriesCollection
Dim vals As Variant
vals = ser.Values
'include this line if you want to reestablish labels before deleting
ser.ApplyDataLabels xlDataLabelsShowLabel, , , , True, False, False, False, False
'loop through values and delete 0-value labels
Dim i As Integer
For i = LBound(vals) To UBound(vals)
If vals(i) = 0 Then
With ser.Points(i)
If .HasDataLabel Then
.DataLabel.Delete
End If
End With
End If
Next i
Next ser
Next chtObj
End Sub
Esta respuesta atrapa Values
desde el Series
usando la técnica detallada aquí.
Este es el resultado de algunos datos aleatorios en los que se han eliminado las etiquetas de datos de un par de barras de valor 0.
Te mostramos las reseñas y valoraciones de los lectores
Si para ti ha sido de ayuda nuestro artículo, sería de mucha ayuda si lo compartieras con más programadores de esta manera nos ayudas a dar difusión a esta información.