VBA Скрыть пустые имена столбцов от оси X графика - PullRequest
0 голосов
/ 24 февраля 2020

Я пытаюсь создать диаграмму, используя макрос из динамического диапазона значений 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

Вывод выглядит так: enter image description here

Но я хочу отображать только те столбцы в метке оси X, где есть данные , Таким образом, в соответствии с моими потребностями, метка X-Axis должна содержать только метки, такие как 2015,2016,2017,2018,2019,2023 и НЕ 2020,2021,2022.

...