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

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

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

我们看下具体效果:

41b8a5f42520c28fca7d463244e6c11e.gif

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

Sub 动态获取()

[b3].CurrentRegion.Select

End Sub

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

实例练习:

06c1bfd4c420bc4c9bcad4bc1c0c5804.gif

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值