第一章 入门篇 1.11 CurrentRegion语句 今天我们来学习获取表中数据区域的另一个语句:CurrentRegion语句。
象上图这样,在用END语句获取数据的边界时,如果基准单元格所在的行或列的最后一个单元格正好是空值,那么它获取的边界也是不准确的。 比如我们以“a1”单元格为基准单元格,Cells(Rows.Count, 1).End(xlUp).Row返回的是6而不是7,Cells(1, Columns.Count).End(xlToLeft).Column返回的是5而不是6。对于这样的现象,今天我们就来学习另一个比END语句更聪明的获取数据边界的语句:CurrentRegion语句。 CurrentRegion是单元格的一个属性,代表指定单元格所在的区域,也就是与基准单元格连接在一起的一片矩形数据区域。 编写格式: 单元格.CurrentRegion.方法或属性 如:Range('a1').currentregion.rows.count,返回“a1”单元格所在区域的总行数; Range('a1') Range('a1').currentregion,返回“a1”单元格所在的区域,这个我们在以后的数组章节会经常用到。 上一节的程序我们可以再修改成这样: Sub currentregion() h = Range('a1').CurrentRegion.Rows.Count l = Range('a1').CurrentRegion.Columns.Count For i = 2 To h For n = 2 To l If Cells(i, n) < 60 Then Cells(i, n).Interior.ColorIndex = 3 End If Next Next End Sub 应用该语句时,要统计的区域无论中间有没有空格,只要与基准单元格相连接,都会被统计到。如果有数值的单元格与基准单元格所在区域未连接,不会被统计到。这样就可以避免在数据区域之外有杂乱字符、或我们肉眼看不到的某些非空单元格影响数据边界的判断。 |
|