Excel中的宏与VBA,让你解放双手不是梦
办公室里,小王每天都要花两个小时处理各种Excel报表,复制粘贴到眼睛发花。看着他这么辛苦,我就想说说怎么用宏和VBA来解放双手。说白了,宏就是帮你把重复性的操作录制下来,下次点一下就搞定啦!
录制宏,就是这么简单
录制宏跟录小视频差不多,开始录制,你做啥它记录啥。Excel 2016以后的版本,在"视图"菜单那找到"宏"按钮就成。录制前想清楚你要干啥,不然录完了发现少做了一步,那可就白忙活了。
Sub 合并单元格_示例()
Range("A1:B1").Select
Selection.Merge
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
End With
End Sub
温馨提示:录制完的宏名字别瞎起,最好能一看就知道是干啥用的,比如"每日报表格式化"就比"宏1"强多了。
VBA编辑器,你的新玩具
要是想写点复杂的操作,那就得用到VBA编辑器了。按Alt+F11就能打开,界面可能有点丑,但功能是真好使。
Sub 自动填充颜色()
Dim i As Long
For i = 1 To 10
If Cells(i, 1).Value < 60 Then
Cells(i, 1).Interior.Color = vbRed
End If
Next i
End Sub
这段代码就是自动找出第一列小于60的数字,给它们涂上红色,比你手动涂快多了。
变量和循环,让代码更聪明
写VBA代码的时候,得先想清楚要用啥变量。整数用Long,小数用Double,文本用String,反正要啥有啥。
Sub 计算平均分()
Dim total As Double
Dim cnt As Long
total = 0
cnt = 0
Range("A1:A10").Select
For Each cell In Selection
If IsNumeric(cell.Value) Then
total = total + cell.Value
cnt = cnt + 1
End If
Next cell
MsgBox "平均分是:" & (total / cnt)
End Sub
温馨提示:代码里面多写点注释,过两天再看就知道自己写的啥了,不然可能连自己都看不懂。
常见的坑,别一头栽进去
VBA代码也有不少坑,我都替你踩过啦!比如Selection用多了容易出问题,最好直接指定单元格范围。还有啊,写循环的时候记得设置退出条件,不然程序就死循环了。
'这样写更靠谱
Range("A1:D10").Value = Range("E1:H10").Value
'不推荐这么写
Range("A1:D10").Select
Selection.Value = Range("E1:H10").Value
错误处理,代码更稳定
写代码难免会出错,加个错误处理,你的程序就不会动不动就崩溃了。
Sub 安全的数据处理()
On Error Resume Next
'做你的操作
If Err.Number <> 0 Then
MsgBox "哎呀,出错了:" & Err.Description
Exit Sub
End If
End Sub
把这些都整明白了,以后处理Excel就跟玩似的。写个宏,喝杯咖啡的功夫,活儿就都干完了。想要提高效率,关键是要多写多练,光看不练假把式。
领取专属 10元无门槛券
私享最新 技术干货