首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Excel中的宏与VBA使用技巧,让你的操作自动化!

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就跟玩似的。写个宏,喝杯咖啡的功夫,活儿就都干完了。想要提高效率,关键是要多写多练,光看不练假把式。

  • 发表于:
  • 原文链接https://page.om.qq.com/page/O_zzb-cnMEYyPq9yVX4Sg7gQ0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券