分享

Excel VBA 学习笔记10:单元格的选取

 L罗乐 2017-04-19

声明:本系列文章是学习蓝色幻想视频和《别怕,Excel VBA其实很简单》的笔记总结,知识版权归上述两作品所以,图片均来自蓝色幻想视频。

Excel VBA 学习笔记10:单元格的选取

第十一节:单元格的选取

学习了VBA的基础语法之后,我们改学习针对Excel的东西了,从单元格的选取开始。

一个单元格的选取

前面我们提到选取单元格大体有两种方式,Range和Cells:

Range(''a1'').Select

Range(''A'' & 1).Select

这个前面用过好多次了,相信大家都很熟悉这种写法了。需要大家注意的是双引号的位置,如果涉及到变量了,要用下面那种方式,变量不能在引号里面,中间用&符号连接。

Cells(1, 1).Select

Cells(1, ''A'').Select

Cells(1).Select

注意,Cells跟我们平时的习惯不一样,括号里的内容是行号、列标,列标可以用字母,也可以换算成数字。第二种写法也是为了有变量的时候用。第三种写法用的有限,它是按照单元格的排序写的,整张表格一行一行的排序,一般我们不会用到。

还有一种简写的方法:

[A1].Select

这种方法用的是中括号,不需要双引号,但是使用也有非常大的局限性,必须是单元格的绝对地址,不能有变量。

连续区域的选取

Range(''a1:c5'').Select

Range(''A1'', ''C5'').Select

Range(''A'' & x '':C'' & y).Select

这是我们最常用的两种表示方式,左上角到右下角的单元格地址表示。注意细节上的区别,用冒号的话需要在一个引号下面,用逗号则需要分别用引号。

Range(Cells(1, 1), Cells(5, 3)).Select

这种方式只不过用Cells替换了上面的单元格表示方式,很容易理解。优点是,可以非常自由的使用变量。

Range(''a1:a10'').Offset(0, 1).Select

前面提到过Offset,指的是偏移量,共有5个参数,常用前2个参数,分别指的是行偏移量和列偏移量。我们这个例子里就是指将A1~A10的区域行偏移0行,列偏移1列,即B1~B10。

Range(''a1'').Resize(5, 3).Select

Resize就是以某一指定单元格为顶点,选择一个矩形区域。

不连续单元格的选取

Range(''a1,c1:f4,a7'').Select

有了前面的基础,理解这点非常容易了,值得注意的是细节,双引号只能用一对,中间不能出现引号,区域中用冒号,区域间用逗号隔开。Range里只能包括最多255个区域。

Union(Range(''a1''), Range(''c1:f4''), Range(''a7'')).Select

Union可以将不同的区块合并到一起。弥补了Range的缺陷。

行的选取

Rows(1).Select

Rows(''3:7'').Select

单行和连续多行的选取方式,很简单。

Range(''1:2,4:5'').Select

Range(''c4:f5'').EntireRow.Select

不连续的必须用Range来实现。后面那种用法是我们写程序时常常用到的,不必想法获取行号或者列号就可以选中整行或整列。

列的选

Columns(1).Select

Columns(''A:B'').Select

Range(''A:B,D:E'').Select

Range(''c4:f5'').EntireColumn.Select

同行的选取,注意行号用的是数字,列号用的是字母。

重置坐标下的单元格表示方法

Range(''b2'').Range(''a1'') = 100

这个不常用,一旦发现两个连续的Range,就要考虑是重置坐标了。表格默认的是以A1为顶点,如果有需要,则自己设置表格的顶点。

正在选取的单元格区域

Selection.Value = 100

今天我们一路看到的是Select,这里冒出来的Selection是它的名词形式,想当然地,指的就是正在被选取的区域。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多