VBA 是 Excel 自带的脚本引擎,能完成 99% 的"批量重活"。本文给 5 个最常用 VBA 代码范式,复制即用。
范式 1:批量打开并复制
Sub 合并()
Dim f As String, wb As Workbook
f = Dir("C:\reports\*.xlsx")
Do While f <> ""
Set wb = Workbooks.Open("C:\reports\" & f)
wb.Sheets(1).Copy After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
wb.Close False
f = Dir
Loop
End Sub
范式 2:批量转 PDF
Sub 全部转PDF()
Dim sh As Worksheet
For Each sh In ActiveWorkbook.Worksheets
sh.ExportAsFixedFormat xlTypePDF, "C:\out\" & sh.Name & ".pdf"
Next
End Sub
范式 3:通过 Outlook 发邮件
调用 Outlook.Application,把当前 Sheet 截图作为附件发给列表中的人。
范式 4:监听 Worksheet 变化
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 5 Then ' E 列
Application.EnableEvents = False
Target.Offset(0, 1).Value = "已审 " & Format(Now, "yyyy-mm-dd hh:nn")
Application.EnableEvents = True
End If
End Sub
WPS 表格不支持完整 VBA,但宏录制基本兼容。如对 VBA 依赖深,建议用 Microsoft 365 桌面版。