VBA专题13:引用单元格/单元格区域的方法
excelperfect
在VBA中,可以通过多种不同的方式来引用工作表中的单元格/单元格区域。下面是一些引用方法的汇总。
Range(“D1”)
引用单元格D1。
Range(“D” & i)
引用列D中行号为i的单元格。其中,i是一个变量,可用于循环代码。
Range(“RangeName”)
引用名称为“RangeName”的单元格区域。
Cells(1,4)
引用第1行第4列的单元格,即单元格D1。
Cells
引用工作表中所有的单元格。
[D1]
引用单元格D1。
[RangeName]
引用名称为“RangeName”的单元格区域。
Rows(i)
引用第i行。其中,i是一个变量。
Columns(i)
引用第i列。其中,i是一个变量。
Columns(“D”)
引用列D。
Application.GotoReference:=”RangeName”
选择命名区域”RangeName”。
Range(“A1”).Offset(r,c)
引用相对于起始单元格区域向下r行向右c列的单元格。
Range(“A1”).End(xlDown)
类似于Ctrl+向下箭头。引用连续单元格区域中最底部的单元格(即该单元格下方的单元格为空)。还可以使用xlUP、xlLeft和xlRight来引用相应的单元格。
Range(“A1”).EntireColumn
引用起始单元格所在的整列。如果选择了多个单元格,则引用这些单元格所在的多列。
Range(“A1”).EntireRow
引用起始单元格所在的整行。如果选择了多个单元格,则引用这些单元格所在的多行。
Range(“A1”).DirectDependents
等价于Ctrl+]组合键。引用目标单元格直接相关的单元格。如果工作表中没有相关单元格可用则返回错误。
Range(“A1”).DirectPrecedent
等价于Ctrl+[组合键。引用目标单元格的从属单元格。如果工作表中没有从属单元格可用则返回错误。
Range(“A1”).Dependents
等价于Ctrl+Shift+]组合键。引用目标单元格的所有相关单元格,包括相关单元格的相关单元格。如果工作表中没有相关单元格可用则返回错误。
Range(“A1”).Precedents
等价于Ctrl+Shift+[组合键。引用目标单元格的所有从属单元格,包括从属单元格的从属单元格。如果工作表中没有从属单元格可用则返回错误。
Range(“A1”,”D1”)
引用单元格区域A1:D1。
一些说明:
Offset属性和End属性可能是我们在代码中最常见的。Offset属性是一种基于单个基本单元格选择单元格的简单方法,可用于从单行开始,并多次循环代码,每次循环引用一个新行。
当知道数据在列顶部的何处开始,但不知道它在哪里结束时,End属性很有用。Range(“A1”).End(xlDown)将转到数据区域的底部,因此可以确定最后一个数据点的位置。
实际上也可以将这些属性组合在一起,例如要选择数据底部的下一个新行,可以使用Range(“A1”).End(xlDown).Offset(1,0),首先转到A1,向下到数据的底部,然后将结果向下偏移一行,以选择下一个空白行。
这些是非常有用的工具,可以使用它们来调整引用的范围,帮助运行循环或处理不确定大小的数据。
欢迎到知识星球:完美Excel社群,进行技术交流和提问,获取更多电子资料。