【分享成果,随喜正能量】这个世界,总有你不喜欢的人,也总有人不喜欢你。不管别人怎么对待你,都要珍视自己。刻意去讨人喜欢,折损的,只能是自我的尊严。。
《VBA代码解决方案》(10028096)这套教程是我最早推出的教程,目前已经是第三版修订了。这套教程定位于入门后的提高,在学习这套教程过程中,侧重点是要理解及掌握我的“积木编程”思想。要灵活运用教程中的实例像搭积木一样把自己喜欢的代码摆好。
(资料图片)
这套教程共三册,一百四十七讲,内容覆盖较广,也是初级和中级间的过渡教程,改版后的内容主要是提供程序源码文件及代码修正为32位和64位兼用代码。今后一段时间会给大家陆续推出。今日的内容是第3讲:VBA实现选择区域的自动计算
今日和大家分享一个VBA的小实例,也是在工作中会用到的。什么例子呢?我们在使用EXCEL时,如果选择了几个单元格会在下面直接读出和是多少,这个功能十分的方便,那么这个功能能否做到随心所欲呢?比如求和,比如计算选择单元格的个数,比如计算所选单元格的负值时多少,比如计算所选单元格的数值大于10的是多少,比如计算所选单元格是数值的为多少,当然,在实际的工作中有很多的情况,比如要在报表中直接知道有多少出勤人数,产量高过平均值的有多少人,我们无法一一的给出代码,就以最常见的选择区域求和来做一个示范吧。
1 利用For Each循环实现场景需求的代码
该如何实现这个功能呢?今天我们就利用VBA采用FOR EACH循环来实现我们的需求。
下面的代码实现了选择区域自动求和和选择单元格个数的自动计算功能:
Sub mynz_3() "第3讲:在EXCEL表格中实现选择区域的自动计算
Dim t As Long
Dim k As Long
Dim d
Sheets("3").Select
k = 0
For Each d In Selection
k = k + 1
If IsNumeric(d.Value) Then
t = t + d.Value
End If
Next
MsgBox "所选区域数值之和为:" & t & ",所选区域单元格共:" & k & "个"
End Sub
代码截图:
2 代码解读及实现的效果
我们先来看看对上述代码的解释:
1) Sheets("3").Select,说明这个功能是在”3”的工作表中来实现的。
2) Dim d 定义d这个变量时可变的,没有给他具体的变量名称,读者可以自己查查我之前的文章,可以看到此时计算机分配给这个变量的具体内存是多大
3) For Each d In Selection 用的是FOR EACH的循环语句,遍历的元素是SELECTION中的各个元素,这个元素用d表示
4) k = k + 1 用K来表示SELECTION中的单元格的个数,有一个就加上1
5) IsNumeric(d.Value) 是判断单元格是否是数字。这时用到IS函数,对于是否是数字的判断,在VBA和EXCEL中是不同的函数,要切记。
6) t = t + d.Value 如果是数字就累加求和
7) MsgBox "所选区域数值之和为:" & t & ",所选区域单元格共:" & k & "个" 遍历完成所有元素后弹出对话框,给出结果,关于MSGBOX函数后面还有讲解。
下面我们看看代码的运行结果:
我们选择了上述的9个区域,数字为1,3,5,7,9,9,9,9 看下面程序的运行结果:
完全正确。这就实现了我们的预期。
当然,我上面的代码只是实现了众多的问题中的一个,如果是求其他的问题只是将代码略加改动即可,如,求选择区域大于10的,只要改成:d.value>10,在做相应的计数即可。这就是VBA的方便之处。
今日内容回向:
1 为了实现选择区域的自动计算,需要哪些函数?
2 为了实现选择区域的自动计算,需要用到哪个循环语句?
3 如何实现选择区域的自动求出不是数字的单元格个数?
本讲内容参考程序文件:VBA代码解决方案(1-19).xlsm
我20多年的VBA实践经验,全部浓缩在下面的各个教程中:
【分享成果,随喜正能量】不要用无数次的折腰,去换得一个漠然的低眉。我们终其一生,不是为了满足所有人,而是只需要找到和自己同频共振的那一部分人。。
关键词:
第3讲:VBA实现选择区域的自动计算|焦点资讯
咔嚓咔嚓……超近距离看秦岭野生大熊猫啃竹笋! 快讯
美国能源部授予购买300万桶原油的合同 用于补充战略石油储备
若羌县召开2023年度文明城市创建主要成员单位工作推进会
世界头条:博纳董事长于冬:剧集的崛起是对电影真正的冲击,不是拼特效的时代了
钱报健康小站|一到夏天皮肤就瘙痒,不妨试试中医止痒
北京德云社地址门票(北京德云社地址)
兰州榆中古稀村书记:当村干部不能怕得罪人更不能当老好人
苹果史上最贵新品遇冷:砍单95%_天天快看
《自然》新研究发现紫外线可诱导罕见白血病发生 每日热讯
【世界独家】中国代表敦促日方勿让福岛核污染水危害人类健康
全球简讯:全自动马桶水箱盖怎么打开(马桶水箱盖怎么打开)
樊纲:今年5%以上经济增长可以期待
全球微资讯!2023端午节股市休市几天
浙江高考成绩将在6月26日左右公布
Sam Altman问答张宏江:模型开源是正确发展路径,应小心前行
安逸四川日历海报丨在广元利州月坝村:踏湖望星空
恭喜梅西!迈阿密新阵容曝光,球王新位置出人意料,冲第八座金球
微软被罚!
中建科工到柳州融水大苗山开展爱心助学志愿活动
七八分熟的羊肉不宜吃的原因是?_天天视点
焦点精选!百万UP主人设崩塌背后:精致生活博主的转型困境
外资净买超16亿!A股近4000亿白马股火了;30多亿杀入,银行股又被狂买 每日头条
环球焦点!RK3588-MIPI屏幕调试笔记:RK3588-MIPI-DSI之屏参配置
全球观天下!荣耀一季度出海战绩公布:欧洲增长4倍,拉丁美洲暴涨700%
卫生间漏水如何处理视频(卫生间漏水如何处理)
拉伸应力应变计算公式(应力应变计算公式)_当前短讯
他是最嚣张美国人,扬言在中国无人敢动他,最后却被一老人淹死
环球实时:看过来 5款机型迎来HarmonyOS 3.0智慧体验版本升级
卡硬盘的螺丝滑了(卡硬盘)