Я работал над моделью Excel с динамическими диаграммами. По сути, пользователь должен иметь возможность изменять периоды, обозначенные на диаграмме, - это довольно просто. Тем не менее, у меня продолжают возникать проблемы с тем, чтобы заставить VBA работать так, как я намереваюсь (я не получаю ошибок, но он не ведет себя так, как я ожидал).
Что я пытаюсь сделать:
- Установить динамическую легенду (в зависимости от того, сколько элементов пользователь хочет отобразить на диаграмме) - количество элементов определяется в Excel и просто добавляется к количеству строк в VBA.
- Установите динамический диапазон (начало и конец зависят от пользовательского ввода), однако кажется, что я не могу определить, где начинается диапазон, содержащий данные для построения графика.
В моем коде ниже Excel, кажется, игнорирует параметры в Rng2
, то есть он начинает строить графики от столбца 53 до столбца 77 вместо того, что я собираюсь сделать из столбца 77 в 89.
В качестве альтернативы, если я заменяю содержимое Rng3
жестко закодированными ссылками, оно работает просто отлично (т.е. Rng3 = .Range("$AZ5662:$AZ5667,$BY$5662:$CJ$5667")
).
Что не так?
Большое спасибо!
С наилучшими пожеланиями,
Philip
Set Cht = .ChartObjects("Chart 14").Chart
Set Rng1 = .Range(Cells(5662, 52), Cells(5663 + Worksheets("Control").Range("F20"), 52))
Set Rng2 = .Range(Cells(5662, 77), Cells(5663 + Worksheets("Control").Range("F20"), 88))
Set Rng3 = .Range(Rng1, Rng2)
Cht.SetSourceData _
Source:=Rng3
Cht.PlotBy = xlRows