我的问题很简单:如何定义从某个单元格到行尾的范围?
如果您知道我要实现的目标,那么您会更好地了解这种情况:我想对行进行单独排序,但是每行的数据都从17.列开始,因此我尝试从17.列进行排序。到列数的结尾。
谢谢!
答案 0 :(得分:2)
VBA中的定义范围:Dim rng As Range
。
设置范围(由于它是 object ,因此必须使用Set
关键字):Set rng = Range("A1:B2")
或
Set rng = Range(Cells(1, 1), Cells(2, 2))
-两者都是等效的。
因此,如果要在第17列开始的ONE行中指定自定义范围,则还必须知道行的结束位置,可以通过两种方式做到这一点:
Dim lastCol As Long
lastCol = Cells(rowNumber, 17).End(xlToRight).Column
'alternative, but not equivalent
lastCol = Cells(rowNumber, Columns.Count).End(xlToLeft).Column
rowNumber
是一行的特殊数字。
现在,有了lastCol
,我们可以定义范围:
Set rng = Range(Cells(rowNumber, 17), Cells(rowNumber, lastCol))
同样,rowNumber
是一行的特殊数字。