最近发现自己对单元格方面的知识并没有完全掌握,收到了罗版的VBA自学宝典,结合以前的那些相关资料,一边学习,一边把相关的知识点记录下来。
一、选取所有单元格。
- Sub 选取全部单元格一()
- Cells.Select
- End Sub
注:cells是所有单元格的集合。
- Sub 选取全部单元格二()
- Rows.Select
- End Sub
而Rows则是所有行的集合。
- Sub 选取全部单元格三()
- Columns.Select
- End Sub
而columns则是所有列的集合。
无论是所有单元格的集合,还是所有行或列的集合选取,都是工作表中全选所有单元格的表示方式。
二、Range引用来选取单元格
1、Range引用单元格方式1:Range("单元格地址")
例如:Range("A1"):表示单元格A1,注意:单元格地址要加双引号
值得注意的是:双引号的输入必须是在半角状态下输入的,否则会出现错误。
"单元格地址"里面的单元格地址不区分相对引用和绝对引用的,无论你是使用Range("A1")、Range("$A1")、Range("$A$1")还是Range("A$1"),都是引用通一个单元格。
一般为了简化作用,直接用Range("A1")这种形式来表示引用单元格。
2、Range引用单元格方式2:Range("单元格区域")
在VBA数组中,经常遇到arr=Range("A1:D10")这种数组赋予方式,而里面出现了Range("单元格区域")的这种单元格区域引用。
从这个最常见的例子中,我们可以发现,"A1:D10"代表了一个单元格区域的引用,其中A1是该区域的左上角上面的单元格,而D10则是该区域右下角下面的单元格。
但大家可以从下面两个例子来发现:
- Sub q1()
- Range("A1:D10").Select
- End Sub
- Sub q2()
- Range("D10:A1").Select
- End Sub
这两个小例子得到的结果都是选取A1:D10这个单元格区域
值得大家注意的,以下的这些通过索引号作为参数的引用,都是比较陌生的。
比如以下这个小例子:
例子1:
- Sub T1()
- Range("B2:E6")(1).Select
- End Sub
注释:该例子代表了选取B2:E6区域中的第一个单元格的,即选取B2
例子2:
- Sub T2()
- Range("B2:E6")(3).Select
- End Sub
注:该例子代表选取B2:E6区域中的第三个单元格,即D2,而单元格的区域的读取一般是从左到右,然后再从上到下进行读取的,故该区域的前3个单元格分别是B2、C2、D2,而第3个单元格就是为D2
例子3:
- Sub T3()
- Range("B2:E6")(3.5).Select
- End Sub
注意:当里面的索引号为小数时,excel会对其进行四舍五入,比如例子3中的3.5,excel会把它转换为4,故例子3中的代表是B2:E6区域的第4个单元格选取,即选取E2
例子4:
- Sub T4()
- Range("B2:E6")(3.2).Select
- End Sub
而例子4中,因为四舍五入的关系,得到的结果是选取该区域的第3个单元格,即选取D2
更加具体详细的解释请看该帖,希望对刚刚接触VBA的会员有所帮助,特别是对单元格理解。
http://www.exceltip.net/thread-5483-1-2-232.html