Создание динамической диаграммы в Excel VBA с использованием функции macro и .End

Я пытаюсь сделать динамическую диаграмму, основанную на последней строке и столбце. Проблема возникает, когда я должен определить диапазон диаграммы. Он идентифицирует как последнюю строку, так и столбец, но когда я пытаюсь установить диапазон диаграммы, последний столбец равен полной электронной таблице.

Код:

Sub Spiderweb_test() ' 'Spiderweb_test Macro Dim chtObj As ChartObject lr = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row lc = ActiveSheet.Cells(4, Columns.Count).End(xlToLeft).Column Set chtRng = Range("A4:lc" & lr) Set ChartArea = Range("a" & lr + 3 & ":f" & lr + 15) ActiveSheet.Shapes.AddChart2(317, xlRadarMarkers).Select ActiveChart.SetSourceData Source:=chtRng Set chtObj = ActiveChart.Parent chtObj.Top = ChartArea.Top chtObj.Left = ChartArea.Left chtObj.Height = ChartArea.Height chtObj.Width = ChartArea.Width End Sub 

Изображение выхода:

Изображение выхода

Использование:

 Set chtRng = Range(Cells(4, 1), Cells(lr, lc)) 

Поскольку lc – фактически номер столбца, а не буква. Следовательно, диапазон диаграмм не устанавливается правильно.

Давайте будем гением компьютера.