Я пытаюсь создать диаграмму, используя макрос из динамического диапазона значений c. Ниже мой код
Sub Chart()
Dim rng As Range, cht As ChartObject, LstRow As Long, i As Long
Dim sh As Worksheet, lastCol As Long, lastC As Long, ColAddr As String
Set sh = ActiveSheet 'use here your sheet
LstRow = sh.Cells(Cells.Rows.Count, 1).End(xlUp).Row 'last row in A:A
'Last column on the third row
For i = 2 To LstRow
lastC = sh.Cells(i, Cells.Columns.Count).End(xlToLeft).Column
If lastC > lastCol Then lastCol = lastC
Next i
ColAddr = sh.Cells(1, lastCol).Address 'last column address (on first row)
Set rng = sh.Range(sh.Range("E2"), sh.Cells(LstRow, lastCol))
Set cht = ActiveSheet.ChartObjects.Add(Left:=100, Top:=80, Width:=350, _
Height:=250)
cht.chart.SetSourceData Source:=rng
cht.chart.ChartType = xlColumnClustered
sh.ChartObjects(sh.ChartObjects.Count).chart.SeriesCollection(1).XValues = _
"='" & sh.name & "'!$F$1:" & ColAddr
End Sub
Вывод выглядит так:
Но я хочу отображать только те столбцы в метке оси X, где есть данные , Таким образом, в соответствии с моими потребностями, метка X-Axis должна содержать только метки, такие как 2015,2016,2017,2018,2019,2023 и НЕ 2020,2021,2022.