今天捣鼓Excel报表整到吐血,突然想起以前听说过VBA能救命,赶紧打开宏录制打算试试水。结果录完一查代码差点笑出声——密密麻麻几十行就干了个“选中A1单元格”的活儿,真的傻。
第一坑:录制宏根本没法直接用
硬着头皮打开编辑器,密密麻麻的英文看得脑壳疼。Dim什么玩意儿?Range又是搜了半天才搞懂Dim是声明变量,Range就是圈定格子范围。把录制的垃圾代码删光,自己憋出第一行:
- Range("A1") = "老子终于写出来了!"
手抖按了F5,A1格子真蹦出这行字!嚯,原来跟搭积木一样,缺哪块就搜哪块拼上就行。
第二招:弹窗警告贼简单
下午做工资表发现有个数输错了,赶紧在代码里塞了句:
- MsgBox "你小子数填错!快查B3格子!"
测试时突然跳出来的黄三角吓我一跳,比Excel自带提示凶残十倍,这下傻子都能看见报错了。
第三板斧:批量改数不用手抽筋
领导突然让把100多行奖金统一加200,心里正骂娘突然想起VBA。敲个循环:
- For i = 2 To 105
- Cells(i, 5) = Cells(i, 5) + 200
- Next
才三行代码唰就搞定了,以前得按爆计算器的手保住了。
第四记:让电脑自己判断对错
报销单总有人把日期写成上月,气得我加上判断:
- If Month(Range("D8")) < 当前月份 Then
- MsgBox "穿越回来的发票?重填!"
- End If
现在填错日期的直接被弹窗怼脸,财务小妹再也没打电话来嚎了。
第五式:给重复操作上快捷键
每天要合并三张表,录完宏发现得点七八次菜单。后来在代码开头加:
- * = False
屏幕不闪了速度飞起,再把宏绑定到Ctrl+Q,现在闭着眼一按键盘完事。
折腾完发现VBA最神的是不用装新软件,就藏在天天用的Excel里。虽然写代码时查资料查到眼瞎,但每次搞定一个需求都爽到拍大腿——对了,要是用VBA被抓去坐牢,请在座各位替我伸冤!
还没有评论,来说两句吧...