как выбрать несколько ячеек, используя переменную смещения, но сохранить то, что в верхних 2 рядах выделено - PullRequest
0 голосов
/ 11 января 2019

Я хочу выбрать несколько ячеек на листе. Я мог бы начать с выбора a2:g22, но в следующий раз я хочу выбрать a2:g2 и сместить оставшиеся строки на 20, чтобы они стали a23:g23. Смещение будет иметь переменную, к которой будут добавляться 20 при каждом запуске кода.

NextRow = Range("ba2")
NextRow = NextRow + 20
Range("a2:g2,a3:g22").Offset(NextRow, 0).Select

Если nextrow = 0, то выбран диапазон a2:g2 и выбран a3:g22, тогда я добавляю от 20 до nextrow, и я хочу, чтобы был выбран a2:g2 и выбран a23:g42. Вместо этого я выбираю a22:g22 и a23:g42.

1 Ответ

0 голосов
/ 12 января 2019

После нескольких часов работы я понял, что смещение всегда будет работать со всем диапазоном, каким бы он ни был. Поэтому я попытался заменить ссылки на ячейки в диапазоне переменной с частичным успехом. Если у меня есть переменная с именем SelRow и я добавлю в нее ссылки на ячейки, это сработает. Итак, этот код выглядел так:

SelRow = "A23:G42"
Range("A2:G2",SelRow).Select

Это не сработало, потому что мой выбор был A2:G42, поэтому я изменил его на:

SelRow = "A2:G2,A23:G42"
Range(SelRow).Select

И это сработало. Поэтому все, что мне нужно было сделать, это начать со ссылочного номера, который использовался для вычисления еще 2 переменных, называемых StRow и EndRow. Ссылочный номер может быть и будет любым, но сейчас я начал с 23.

StRow=23
EndRow = StRow + 19
NowSel = "a2:G2,A" & StRow & ":G" & EndRow
Range(NowSel).Select

Это сработало. Результат NowSel в этом случае был A2:G2,A23:G42 Это, конечно, может быть довольно длинным, поэтому мой окончательный код выглядит следующим образом:

StRow = Worksheets("Cell List").Range("A1") 'Get the last row number used
StRow = StRow + 20 'Set the next start row to last row + 20
EndRow = StRow + 19  'Set the last row for selection to start row + 19
NowSel = "a2:c2,f2:g2,a" & StRow & ":c" & EndRow & ",f" & StRow & ":g" & EndRow
Range(NowSel).Select

А теперь выделены следующие ячейки A2:C2 и F2:G2 и A23:C42 и F23:G42

Теперь я могу создавать диаграммы, просто меняя ссылочный номер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...