Как создать объект Range с той же областью, но с другой исходной (вверху слева) ссылкой на ячейку - PullRequest
0 голосов
/ 14 февраля 2019

Я создал пользовательскую форму «RefEdit» для создания нового объекта диапазона на основе ввода пользователя.Теперь мне нужно создать еще один объект Range, который ссылается на тот же столбец (столбцы), но на разные заранее определенные строки.Новый объект диапазона должен поддерживать ту же область (такое же количество строк и столбцов).

Например:

  • пользователь выбирает Range("J12:L14")
  • Существуетпредопределенная начальная (верхняя левая) строка: номер строки 5
  • Итак, мне нужно создать еще один объект диапазона, который ссылается на ("J5: L7")

Понятия не имеючтобы решить это.У кого-нибудь есть идеи?Заранее спасибо.

1 Ответ

0 голосов
/ 14 февраля 2019

Вы можете использовать свойство Range.Resize , чтобы начать с нужной ячейки Cells(RowNo, SelRng.Column) и изменить его размер до того же размера, что и другой диапазон SelRng.

Option Explicit

Sub test()

    Dim SelRng As Range
    Set SelRng = Range("J12:L14")

    Dim RowNo As Long
    RowNo = 5

    Dim NewRng As Range
    Set NewRng = Cells(RowNo, SelRng.Column).Resize(SelRng.Rows.Count, SelRng.Columns.Count)

    Debug.Print NewRng.Address(False, False) '<-- J5:L7

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