我有一个需要选择的范围。范围的上部区域是 A2,我可以使用以下命令获取 -
Cells(2, 1)
我可以使用以下命令获得较低的范围 -
Cells(Rows.Count, 1).End(xlUp).Row
Cells(5, Columns.Count).End(xlToLeft).Column
我怎样才能将所有单元格命令组合成范围将选择的内容?
我试过
range=(cells(2,1)),(Cells(Rows.Count, 1).End(xlUp).Row),(Cells(5, Columns.Count).End(xlToLeft).Column).select
但我收到格式错误。
答案1
记住Cells(Rows.Count, 1).End(xlUp).Row
返回一个整数
和
Cells(5, Columns.Count).End(xlToLeft).Column
返回一个整数。
所以你需要Cells(integer,integer)
。
正如您现在所见,它的内容是range(A2),integer,integer.select
。
您不使用select
,如果您要使用两个整数,则需要将其包装在 cells() 中。并将整个内容包装在 range() 中。
Set rng = Range(Cells(2, 1), Cells((Cells(Rows.Count, 1).End(xlUp).Row), (Cells(5, Columns.Count).End(xlToLeft).Column)))
更好的方法是
Sub test()
Dim rng As Range
Dim lastrow As Integer
lastrow = Cells(Rows.Count, 1).End(xlUp).Row
Dim lastcol As Integer
lastcol = Cells(5, Columns.Count).End(xlToLeft).Column
Set rng = Range(Cells(2, 1), Cells(lastrow, lastcol))
End Sub
现在,您没有理由限制select
您的范围 - 只需直接使用即可rng
。