Есть ли в VBA простой способ смещать диапазон («B2: B5, FB2: OR5») на единицу при каждом нажатии кнопки? - PullRequest
0 голосов
/ 30 апреля 2020

Существенно, цель состоит в том, чтобы обновить график, сдвинув диапазон на 1 нажатием кнопки.

т.е. Рабочие листы ("Лист1"). Диапазон ("B2: B5, FB2: OR5") в

Рабочие листы («Лист1»). Диапазон («B2: B5, FC2: OS5»)

следующий щелчок изменит диапазон на .Range («B2: B5, FD2: OT5») ) ...

Продолжение идеи @ BigBen

    Dim Range1 as Range 
    Last_col = Worksheets("Sheet1").Range("ZZ216").End(xlToLeft).Column 
    First_col = Last_col - 251 
    Set Range1 = Worksheets("Sheet1").Range(Worksheets("Sheet1").Cells(216, First_col), _
        Worksheets("Sheet1").Cells(219, Last_col)) 

Теперь, когда у меня есть это, как мне соединить его обратно в этот формат .Range ("B2: B5, FC2: OS5") «)

1 Ответ

1 голос
/ 01 мая 2020

Использование подхода @ BigBen

 Dim Range0 as Range
 Dim Range1 as Range 
 Dim Range2 as Range     

 Set Range0 = Worksheets("Sheet1").Range("B2:B5")

 Last_col = Worksheets("Sheet1").Range("ZZ216").End(xlToLeft).Column 
 First_col = Last_col - 250 
 Set Range1 = Worksheets("Sheet1").Range(Worksheets("Sheet1").Cells(216, First_col), _
    Worksheets("Sheet1").Cells(219, Last_col)) 

 Set Range2 = Union(Range0, Range1)

 Worksheets("Sheet 2").ChartObjects("Chart 1").Activate
 ActiveChart.SetSourceData Source:=Range2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...