ฉันคิดว่านี่ตกอยู่ในโลกของ VBA กำลังทำงาน รายบุคคล ป้ายข้อมูลค่อนข้าง จำกัด
นี่คือรหัสที่จะวนซ้ำในชุดข้อมูลในแผนภูมิจุดข้อมูลของพวกเขาแล้วลบป้ายกำกับที่ตรงกับจุดด้วย Value=0
.
มีบรรทัดของรหัสในนั้น (แสดงความคิดเห็น) ที่จะเพิ่มป้ายชื่อข้อมูลอีกครั้งเพื่อจุดทั้งหมดเพื่อรีเซ็ตพวกเขา หากคุณต้องการลบคุณสามารถข้ามบรรทัดนี้ได้
แก้ไข: เพิ่มในลูปด้านนอกบน ActiveSheet.ChartObjects
เพื่อประมวลผลแผนภูมิทั้งหมดบนแผ่นงาน
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
คำตอบนี้คว้า Values
จาก Series
ใช้เทคนิค รายละเอียดที่นี่ .
นี่คือผลลัพธ์ของข้อมูลสุ่มบางตัวที่มีแถบค่า 0 คู่ถูกลบป้ายข้อมูล