体验零代码搭建

excel表格中Range对象是什么

网友投稿  ·  2023-11-27 11:11  ·  管理系统  ·  阅读 505


平时生活中,有很多细节在我们看来似乎是习以为常的。例如,在教孩子剪纸时,我们会选取一张合适大小的纸,然后对其进行裁剪成想要的模样;在维修机器时,我们会先选取合适的扳手,利用它来拧螺丝。像选择纸张并在纸张上进行操作、选取扳手并利用它来做别的事情等等这些操作,是再自然不过的事情了。

平时生活中,有很多细节在我们看来似乎是习以为常的。例如,在教孩子剪纸时,我们会选取一张合适大小的纸,然后对其进行裁剪成想要的模样;在维修机器时,我们会先选取合适的扳手,利用它来拧螺丝。像选择纸张并在纸张上进行操作、选取扳手并利用它来做别的事情等等这些操作,是再自然不过的事情了。

excel表格中Range对象是什么

然而,当我们使用Excel VBA来操控单元格时,是否要先选取相应的单元格呢?如果熟悉了VBA,我们立马就可以回答:未必。可以说,在Excel VBA的大多数操作中,选取单元格的动作是多余的,甚至会拖慢代码的速度。但是,选取单元格是最基本的操作,是我们无意中就完成的操作,譬如在Excel工作表界面,我们将鼠标一点,那个周边带框的单元格就是我们选取的单元格,此时,我们应用的格式、输入的数据都在那个单元格中。

这里,我们还是从这个最基本的操作介绍起,逐步扩展到Range对象的诸多有用的属性和方法。

Select方法

Range对象的Select方法表示选择某个单元格或某单元格区域。例如,下面的代码:

Range(“A2”).Select

使单元格A2为当前单元格。

下面的代码:

Range(“C2:C5”).Select

选取单元格区域C2:C5。

下图显示了上述代码运行后的结果:

同样地,下面的代码:

Range(“C5″).Select

Cells(5,3).Select

[C5].Select

Cells(65539).Select

Cells(5,”C”).Select

均选取单元格C5为当前单元格。

下面的代码:

Range(“C2:C5”).Select

Range(“C2″,”C5”).Select

[C2:C5].Select

Range(Range(“C2”), Range(“C5”)).Select

Range(Cells(2, 2), Cells(5, 2)).Select

均选取单元格区域C2:C5。

下面的代码:

Columns(2).Select

Columns(“B”).Select

均选取B列。

下面的代码:

Columns(“B:C”).Select

选取B列和C列。

下面的代码:

Rows(2).Select

Rows(“2:2”).Select

均选取第2行。

下面的代码:

Rows(“2:3”).Select

选取第2行和第3行。

可以看出,在VBA中,您可以采用多种方法来选取要操作的单元格或单元格区域。

您可以在VBE中逐一输入上述代码并运行后对照Excel界面观察运行后的结果,以加深您对单元格对象的理解。

Activate方法

Range对象的Activate方法用于使所选单元格区域中的某单元格为活动单元格。如果没有事先明确地选择某区域,则认为是在当前工作表中的所有单元格中选取某单元格。

例如,下面的代码:

Range(“B2”).Activate

使当前工作表中的单元格B2为活动单元格。

下面的代码:

Range(“B2:C5”).Select

Range(“B5”).Activate

使所选择的单元格区域B2:C5中的单元格B5为当前活动单元格。如下图所示:

下面是一些“奇怪的”现象,如下面的代码:

Range(“B2:D3”).Activate

将选取单元格区域B2:D3,并使该区域的左上角单元格B2为当前活动单元格。如下图所示:

您可以使用不同的单元格区域表示方式,来试验Activate方法。运行代码时结合Excel界面观察其行为,体验Activate方法的实际运行效果。

有兴趣的话,您对ActiveCell属性和Cells属性分别试一试Select方法和Activate方法,看看结果如何?在学习VBA时,多些想法,多些思考,多些尝试,就会对Excel对象理解得更加深入透彻,也会取得更快速的进步。

最后要说明一点的是,本节的内容对熟悉VBA的人来说,可能觉得太啰嗦了,因为熟悉VBA后这两个方法几乎不会用到。但对于初学者来说,在操作一个对象之前先选择它是很自然的一种想法,仔细体验Select方法和Activate方法,有助于打开理解Range对象之门。毕竟,很多初学者的代码或宏录制器的代码中都有大量的Select和Activate存在,并且在我们后续的介绍中也会时不时地出现这两个方法。

此外,对于熟悉的人来说,考虑这两个方法的一些细微之处,也是很有意思的事情。


在VBA代码中如何判断单元格是否为空? << 上一篇
2023-11-27 11:11
excel函数SERIES公式
2023-11-27 11:11
下一篇 >>

相关推荐