宏录制器的代码重构:从录制到高效生产
分析并重构录制的宏代码,优化为健壮、避免Select的VBA程序。 · 难度:入门 · +10XP
宏录制器的代码重构:从录制到高效生产
大多数用户录制的宏充满了.Select和.Activate,效率低下且容易出错。本教程将深入到录制的代码背后,教你如何重构这些代码。你将学习如何直接引用Range对象、使用With语句减少重复、利用For Each循环处理多个单元格,以及通过Application.ScreenUpdating关闭屏幕刷新来极大提升运行速度。我们还会讲解错误处理机制,让你的宏在面对空数据或异常格式时依然稳定运行。
// 低效录制代码示例:
Range("A1").Select
Selection.Copy
Range("B1").Select
ActiveSheet.Paste
// 重构后的高效代码:
Sub FastCopy()
Application.ScreenUpdating = False
On Error GoTo CleanUp
Dim ws As Worksheet
Set ws = ActiveSheet
ws.Range("A1").Copy Destination:=ws.Range("B1:B10")
CleanUp:
Application.ScreenUpdating = True
End Sub