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

网站首页 > 技术教程 正文

EXCEL动态获取单元格区域(currentregion)

goqiw 2024-09-05 22:15:01 技术教程 93 ℃ 0 评论

有时候我们总会在已有的数据下面增加记录,所以VBA中要需要动态的获取更新后的区域。


在工作表中,我们选择数据区域中任意一个单元格,按CTRL+A就会选择整个数据区域。在VBA中,currentregion类似与工作表中的CTRL+A,通过判断当前选定的单元格,然后扩展到整个数据区域。


我们看下具体效果:



我们想左边的数据区域,代码如下:

Sub 动态获取()

[b3].CurrentRegion.Select

End Sub


以B3单元格为参照,扩展数据区域。


实例练习:



求各个产品的平均销量,代码如下:


Sub 求平均数量()

Dim rng As Range, num&, n%

For Each rng In Intersect(Range("a1").CurrentRegion, [a:a])

If rng.Value = [f4].Value Then

n = n + 1

num = num + rng(1, 3).Value

End If

Next

[g4] = num / n

End Sub


当然这样选择A列数据区域有点多此一举,我们只是为了练习所以这样做。


大家可以看到,当增加数据记录时,因为公式中区域不是选择的整列(=AVERAGEIF(A2:A8,F4,C2:C8)),所以就会出错,而通过代码出来的不会错。


通过这个例子我们也可以练习以前学过的知识。看懂不一定会写,要想真正掌握一定要动手写,发现问题,解决问题,这样才能更好的掌握。

转自:米宏Office

Tags:

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

欢迎 发表评论:

最近发表
标签列表