#excel #vba
Вопрос:
Итак, изначально у меня есть 2D-диаграмма области, которую я создаю с помощью VBA, которая выглядит следующим образом
Эта диаграмма игнорирует условные обозначения для любых значений, которые являются пробелом или пустой ячейкой, и я делаю это с помощью следующего кода.
Dim i As Long
Dim cht As Chart
Dim lgd As Legend
Set cht = ActiveChart
Set lgd = cht.Legend
For i = lgd.LegendEntries.Count To 1 Step -1
Select Case cht.SeriesCollection(i).Name
Case "Total", ""
lgd.LegendEntries(i).Delete
Case "Total", " "
lgd.LegendEntries(i).Delete
Case Else
' do nothing
End Select
Next
Так что эта часть работает идеально. Моя проблема в том, что когда я беру эту диаграмму и преобразую ее в трехмерную диаграмму области, изменив следующий код
из этого
ActiveSheet.Shapes.AddChart2(276, xlArea).Select
к этому
ActiveSheet.Shapes.AddChart2(276, xl3DArea).Select
Затем я получаю следующую диаграмму, которая показывает мне все на моем столе, и я хочу, чтобы она скрывала все, что является пустым местом или пустой ячейкой.
I use the exact same code to create the 2D and the 3D chart and I’m not sure why for the 2D chart it hides the empty values correctly but for the 3D chart it breaks and gives me that horrible chart.