У меня есть диаграмма на листе в Excel, и у меня есть макрос, настроенный так, что, когда я изменяю значение в определенной ячейке, диапазон данных в диаграмме устанавливается на A2 до номера строки, соответствующего в этой определенной ячейке .
Что я не могу сделать, так это изменить ось, поскольку указанная ось больше не охватывает диапазон графика, то есть текущая ось X установлена на:
=Sheet1!$C$2:$C$600
Я не могу понять, как обновить это в макросе. Любая помощь приветствуется.


Вы должны иметь возможность установить свойство XValues так же, как вы это делали в ответе Ланса для вашего другой вопрос.
Charts("chartname").SeriesCollection(1).XValues = "=MYXAXIS"
или как бы вы ни называли именованный диапазон для значений оси x. Если у вас есть несколько серий на диаграмме, вы захотите изменить значение в SeriesCollection, чтобы оно ссылалось на нужную серию.
Содержит ли «определенная ячейка» номер последней строки данных? (не совсем понятно)
Предположим, что ячейка F1 содержит последнюю строку данных. Вы можете построить адрес и диапазон следующим образом:
Dim rXVals As Range
Dim sAddress AS String
sAddress = "Sheet1!$C$2:$C$" & Worksheets("Sheet1").Range("F1").Value
Set rXVals = Range(sAddress)
Worksheets("Sheet1").ChartObjects(1).Chart.SeriesCollection(1).XValues = rXVals