本文目录导读:

Excel 的实用脚本主要分为 VBA 宏 和 Python 脚本(通过 openpyxl / pandas 库),以下是能显著简化日常操作的脚本场景及代码示例。
VBA 宏脚本(适合 .xlsm 文件,无需装环境)
一键反合并单元格并填充数据
- 痛点:合并单元格导致排序、公式失效。
- 功能:取消合并,自动填充相同值到下方空白单元格。
Sub UnmergeAndFill()
Dim rng As Range
For Each rng In ActiveSheet.UsedRange
If rng.MergeCells Then
rng.UnMerge
' 将合并前的值填充到整个区域
rng.EntireColumn.SpecialCells(xlBlanks).FormulaR1C1 = rng.Offset(-1, 0)
End If
Next
End Sub
快速删除隐藏行/列
- 痛点:复制粘贴时带入隐藏数据。
- 功能:仅保留可见单元格。
Sub DeleteHiddenRows()
Selection.SpecialCells(xlCellTypeVisible).Select
Selection.Delete Shift:=xlUp
End Sub
批量导出所有工作表为单独 CSV
- 痛点:逐个另存为费时。
- 功能:一键生成同名 CSV 文件(与工作簿同目录)。
Sub ExportSheetsToCSV()
Dim ws As Worksheet
Dim path As String
path = ThisWorkbook.path & "\"
Application.DisplayAlerts = False
For Each ws In ThisWorkbook.Worksheets
ws.Copy
ActiveWorkbook.SaveAs Filename:=path & ws.Name & ".csv", FileFormat:=xlCSV
ActiveWorkbook.Close False
Next
Application.DisplayAlerts = True
End Sub
Python 脚本(适合自动化、数据分析、跨平台)
前提:安装
pip install openpyxl pandas
合并多个 Excel 文件中的相同列
- 场景:每天收到多份销售报表,需要汇总。
import pandas as pd
import glob
# 读取当前文件夹下所有 .xlsx 文件
files = glob.glob("销售报表_*.xlsx")
df_list = [pd.read_excel(f) for f in files]
combined = pd.concat(df_list, ignore_index=True)
combined.to_excel("汇总报表.xlsx", index=False)
清洗数据:去除空格、空行、重复行
- 痛点:手工清理不干净且耗时。
import pandas as pd
df = pd.read_excel("原始数据.xlsx")
# 去除首尾空格
df = df.applymap(lambda x: x.strip() if isinstance(x, str) else x)
# 删除完全空的行
df = df.dropna(how='all')
# 删除重复行(保留第一个)
df = df.drop_duplicates()
df.to_excel("清洗后数据.xlsx", index=False)
按条件拆分工作表为多个文件
- 场景:按“部门”列将一张大表拆成多个 Excel 文件。
import pandas as pd
df = pd.read_excel("员工数据.xlsx")
for dept, group in df.groupby('部门'):
group.to_excel(f"部门_{dept}.xlsx", index=False)
日常高频操作脚本(VBA 极短版)
| 操作 | VBA 脚本(直接粘贴到模块中运行) |
|---|---|
| 选中区域转置粘贴 | Selection.Copy: Range("A1").PasteSpecial Transpose:=True |
| 删除所有图片 | ActiveSheet.Pictures.Delete |
| 高亮选中行 | Rows(Selection.Row).Interior.Color = RGB(255, 255, 0) |
| 快速设置打印区域 | ActiveSheet.PageSetup.PrintArea = Selection.Address |
如何运行这些脚本?
- VBA 宏:按
Alt + F11打开编辑器 → 插入模块 → 粘贴代码 → 关闭 →Alt + F8选择宏运行。 - Python 脚本:保存为
.py文件,在命令行或 PyCharm 执行。python 脚本名.py
安全提示
- 运行来自网络的 VBA 脚本前,请确认其功能是否安全(可通过注释
.Delete等危险命令测试)。 - Python 脚本建议在虚拟环境中运行,避免影响系统 Python。
如果需要针对特定业务场景(比如发票核对、考勤统计)的脚本,可以告诉我具体需求,我来帮你定制。