Пустой диапазон для динамической диаграммы VBA - PullRequest
0 голосов
/ 23 ноября 2018

Я пытаюсь создать динамические источники данных на графике в VBA, поскольку это может варьироваться в зависимости от данных, которые извлекаются с помощью макроса.На данный момент у меня есть:

Set Rng = Sheets("Mapping Tables").Range("J13", Sheets("Mapping Tables").Range("J13").End(xlDown).End(xlToRight)).Select

    Worksheets("Vintage").Charts("Vintage_1").SetSourceData Rng, PlotBy:=xlColumns

Однако, когда я перебираю код в команде set range, мои ячейки выбираются.Когда я запускаю шаг SetSourceData, ничего не происходит.Когда я нахожу указатель на переменную Rng, он говорит = ничего.

Я никогда раньше не делал динамических диаграмм, но не могу понять, почему мой диапазон ничего не равен при выборе диапазона.

Спасибозаранее.

Ответы [ 2 ]

0 голосов
/ 23 ноября 2018

Попробуйте это.

Sub test()
    Dim Rng As Range
    Dim obj As ChartObject
    Set Rng = Sheets("Mapping Tables").Range("J13", Sheets("Mapping Tables").Range("J13").End(xlDown).End(xlToRight))

    Set obj = Worksheets("Vintage").ChartObjects("Vintage_1")
    With obj.Chart
        .SetSourceData Rng, PlotBy:=xlColumns
    End With
End Sub
0 голосов
/ 23 ноября 2018

на самом деле первая строка должна выдавать ошибку, если я не ошибаюсь.Вы не можете установить диапазон для оператора ".select".Попробуйте удалить «.select» в конце

Редактировать: когда вы определяете непрерывный диапазон (например, таблицу), вы можете использовать что-нибудь более чистое:

set Rng = Sheets("Mapping Tables").Range("J13").CurrentRegion
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...