使用VBA在行中进行自定义选择

时间:2018-09-12 05:41:00

标签: excel vba excel-vba excel-2016

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

如果您知道我要实现的目标,那么您会更好地了解这种情况:我想对行进行单独排序,但是每行的数据都从17.列开始,因此我尝试从17.列进行排序。到列数的结尾。

谢谢!

1 个答案:

答案 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是一行的特殊数字。