vba 行中的自定义选择

Custom selection in row with vba

我的问题很简单:如何定义从某个单元格到行尾的范围?

如果您知道我要达到什么目的,您就会更好地理解这种情况:我想单独对行进行排序,但每一行的数据都从 17. 列开始,所以我尝试从 17 开始排序. 列到列数的末尾。

提前致谢!

在 VBA 中定义范围:Dim rng As Range

设置范围(因为是对象,必须使用Set关键字):Set rng = Range("A1:B2")

Set rng = Range(Cells(1, 1), Cells(2, 2)) - 两者是等价的。

因此,如果您想在从第 17 列开始的一行中指定自定义范围,您还必须知道行的结束位置,您可以通过两种方式实现:

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 是行的特定编号。