动手编写第1个VBA程序
如果你每天都要在Excel里重复做同样的事情,那VBA就是你的解放按钮。
什么是VBA?
VBA(Visual Basic for Applications)是微软内嵌在Office中的一门编程语言。你不用安装任何额外软件——只要你的电脑上有Excel,就可以直接开始写代码。
它能帮你做什么?
一句话总结:把人肉点鼠标的工作,交给代码。
第一步:打开VBA编辑器
- 按下快捷键 Alt + F11(Mac上是 Option + F11 或 Fn + Option + F11)
- 你会看到一个新窗口——这就是 VBA编辑器(VBE)
小贴士: 如果你按快捷键没反应,可能需要先在「文件 → 选项 → 自定义功能区」中勾选「开发工具」选项卡。
第二步:插入一个模块
在VBA编辑器中:
模块就像一张白纸,你的代码都写在这里。
第三步:写你的第一行代码
在代码编辑区中,输入以下内容:
Sub SayHello() MsgBox "你好,VBA!这是我的第一个程序 🎉"End Sub
让我们逐行理解:
| |
|---|
Sub SayHello() | |
MsgBox "..." | |
End Sub | |
第四步:运行它!
方法一:在VBA编辑器中运行
方法二:回到Excel中运行
进阶:写一个真正有用的程序
弹窗很酷,但VBA的真正威力在于自动化。让我们写一个更实用的例子——自动填充数据并设置格式:
Sub AutoFillData() Dim i As Integer ' 清空之前的测试数据 Range("A1:D100").Clear ' 写入标题行 Range("A1").Value = "序号" Range("B1").Value = "日期" Range("C1").Value = "产品名称" Range("D1").Value = "销售额" ' 设置标题样式 With Range("A1:D1") .Font.Bold = True .Font.Size = 12 .Interior.Color = RGB(0, 112, 192) .Font.Color = RGB(255, 255, 255) End With ' 填充数据 For i = 2 To 20 Cells(i, 1).Value = i - 1 Cells(i, 2).Value = Date + i - 2 Cells(i, 3).Value = "产品-" & Int(Rnd * 10) + 1 Cells(i, 4).Value = Round(Rnd * 10000, 2) Next i ' 自动调整列宽 Columns("A:D").AutoFit ' 添加边框 Range("A1:D20").Borders.LineStyle = xlContinuous MsgBox "数据填充完成!共生成 19 条记录 ✅"End Sub
这段代码做了什么?
运行后,你会得到一张整齐美观的数据表。
常用VBA快捷键速查
保存文件的小坑 ⚠️
当你保存包含VBA代码的Excel文件时,普通的 .xlsx 格式会丢失代码!请务必选择:
文件 → 另存为 → 格式选择「Excel 启用宏的工作簿(*.xlsm)」
这是新手最常踩的坑,切记!
接下来学什么?
掌握了基础后,你可以继续探索:
- 🔀 条件判断(If...Then) — 让程序会思考
- 🔄 循环(For / Do While) — 批量处理数据
VBA的学习曲线很平缓,边用边学是最快的方式。最好的学习项目,就是你日常工作中的那个重复操作。
写在最后
编程没有想象中那么难。你的第一个VBA程序只有3行代码,但它证明了一件事:你可以让电脑替你干活。
从今天开始,把每天重复的Excel操作记下来,然后用VBA一个一个消灭它们。相信我,几个月后你会回来感谢今天的自己。
💬 你日常在Excel中最常做的重复操作是什么? 欢迎在评论区告诉我,我来帮你写一个自动化方案!
觉得有用?点赞+在看,让更多人学会VBA! 👍