在学习的过程中,我们往往会忽视细节,甚至对有些关键细节也一带而过,结果就会造成一知半解或不懂装懂。虽然过多地纠缠于细节,会耗费很多的精力,有时也会陷于不能自拔而走进死胡同,但是认识一些细节,有助于对所学知识的更深入的理解,更会打下坚实的基础。那么,闲话少说,下面我们就来解单元格在Excel VBA代码中的表示。
在学习的过程中,我们往往会忽视细节,甚至对有些关键细节也一带而过,结果就会造成一知半解或不懂装懂。虽然过多地纠缠于细节,会耗费很多的精力,有时也会陷于不能自拔而走进死胡同,但是认识一些细节,有助于对所学知识的更深入的理解,更会打下坚实的基础。那么,闲话少说,下面我们就来解单元格在Excel VBA代码中的表示。
在工作表中,我们面对的或者最主要的工作区域就是一个个单元格了,它们在Excel VBA中是使用Range对象来表示的。
Range对象
Range对象代表单元格或单元格区域。广义地说,单元格区域包括:①单个单元格;②包含连续的或者不连续的多个单元格;③一行或多行;④一列或多列。这些在代码中都可以用Range对象来表示。
如上所示,在Excel中,单元格由行号列标来表示,例如单元格C5,同样,单元格区域、行、列也由相应的行号列标来表示。
单个单元格、单元格区域、整行、整列等都是Range对象。在VBA中,由Range对象来表示相应的单元格区域。具体的说,如上所示:
Range(“C5”)
表示当前工作表中的单元格C5。
Range(“D7:G11”)
表示当前工作表中的单元格区域D7:G11。
Range(“H:H”)
表示H列。
Range(“12:12”)
表示第12行。
在中,我们还可以看出这样的规律,在工作表(公式)中表达的单元格或单元格区域,要在VBA代码中表示,只需将其放置在Range后面的括号中,并加上引号。
ActiveCell属性
ActiveCell属性是Application对象的一个属性。使用该属性可以获取当前工作表中的活动单元格,也就是正在编辑或正准备编辑的单元格。例如中,如果光标在单元格C5内,则可以直接在代码中使用
ActiveCell
来代表单元格C5。
Cells属性
Cells属性是Application对象的一个属性。使用该属性可以获取当前工作表中的所有单元格。例如,上图的工作表Sheet1中,可以在代码中使用
Cells
代表该工作表中的全部单元格。
Selection属性
Selection属性是Application对象的一个属性。使用该属性可以获取当前工作表中所选定的单元格或单元格区域。例如,上中,如果光标位于单元格C5,那么可以在代码中使用
Selection
来代表单元格C5。
如果在工作表中选定了单元格区域D7:G11,那么可以在代码中使用
Selection
代表该工作表中的单元格区域D7:G11。
小结
综上,我们来看看在VBA代码中表示单个单元格和由多个单元格组成的单元格区域的表示方法。
1、在VBA代码中表示单个单元格,如下所示。
此外,如果光标正处在单元格C5中,还可以使用下列代码之一:
⑥ ActiveCell
⑦ Selection
2、在VBA代码中表示单元格区域,如下所示。
此外,如果在工作表中或之前运行的代码中已经选定单元格区域A2:B3,还可以使用代码:
Selection
Rows属性
Rows属性是Application对象的一个属性。使用该属性可以获取工作表或所选定区域的行。
例如中的第12行,还可以使用下面的代码表示:
Rows(12)
Rows(“12:12”)
由第2条代码可以推广,如果要获取选定的第9行到第12行,则可以使用下面的代码:
Rows(“9:12”)
Columns属性
Columns属性是Application对象的一个属性。使用该属性可以获取工作表或所选区域的列。
例如中的第8列,即H列,还可以使用下面的代码表示:
Columns(“H”)
Columns(8)
要获取多列,例如第8列和第9列,可以使用下面的代码表示:
Columns(“H:I”)