如何创建具有相同面积但初始(左上)单元格引用不同的Range对象

时间:2019-02-14 09:01:19

标签: excel vba

我创建了一个'RefEdit'用户表单,以根据用户的输入创建一个新的范围对象。现在,我需要创建另一个Range对象,该对象引用相同的列,但引用不同的预定行。新的范围对象需要保持相同的面积(行和列的数量相同)。

例如:

  • 用户选择Range("J12:L14")
  • 有一个预定的初始(左上)行:行号5
  • 因此,我需要创建另一个引用(“ J5:L7”)的范围对象

我不知道要解决这个问题。有人有什么主意吗?预先感谢。

1 个答案:

答案 0 :(得分:1)

您可以使用Range.Resize property从所需的单元格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
相关问题