分享免费的编程资源和教程

网站首页 > 技术教程 正文

学习VBA,报表做到飞 第一章 入门篇 1.11 CurrentRegion语句

goqiw 2024-09-05 22:14:28 技术教程 61 ℃ 0 评论

第一章 入门篇

1.11 CurrentRegion语句

今天我们来学习获取表中数据区域的另一个语句:CurrentRegion语句。

科目
姓名

语文

数学


美术


A同学

86

50


58


B同学

50

100

65

57

48

C同学

99

30

50

72

34



44

47

91

88

E同学

94

55

33

38

67


28

76

32

73

66

象上图这样,在用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").CurrentRegion.Columns.Count,返回“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

应用该语句时,要统计的区域无论中间有没有空格,只要与基准单元格相连接,都会被统计到。如果有数值的单元格与基准单元格所在区域未连接,不会被统计到。这样就可以避免在数据区域之外有杂乱字符、或我们肉眼看不到的某些非空单元格影响数据边界的判断。


往期精彩回顾:

学习VBA,报表做到飞 第一章 入门篇 1.10 END语句通常用法

学习VBA,报表做到飞 第一章 入门篇 1.9 END语句

学习VBA,报表做到飞 第一章 入门篇 1.8 FOR循环语句

我是云飞扬,职场财会人员,愿与大家分享表格制作和数据统计分析的技巧与方法,希望大家的工作更便捷,更轻松!

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表