如何轻松移除Excel录制宏中大量ActiveWindow.ScrollColumn代码行?
批量移除Excel宏中滚动操作生成的
ActiveWindow.ScrollColumn代码行 方法一:用VBA编辑器的查找替换(通配符模式)
- 按Alt+F11打开VBA编辑器
- 按下Ctrl+H调出查找替换对话框
- 在「查找内容」输入框里填:
ActiveWindow.ScrollColumn = * - 「替换为」输入框留空
- 点击「更多」,勾选「使用通配符」
- 点「全部替换」,所有这类代码行就会被一次性删掉
方法二:用VBA代码批量清理所有模块
如果你的宏分散在多个模块里,或者想更精准处理,直接跑这段代码就行:
Sub RemoveScrollColumnLines() Dim vbComp As VBComponent Dim codeMod As CodeModule Dim i As Long '遍历当前工作簿的所有VBA模块 For Each vbComp In ThisWorkbook.VBProject.VBComponents Set codeMod = vbComp.CodeModule '从最后一行往前删,防止删行后索引错位 For i = codeMod.CountOfLines To 1 Step -1 If InStr(1, codeMod.Lines(i, 1), "ActiveWindow.ScrollColumn =", vbTextCompare) > 0 Then codeMod.DeleteLines i End If Next i Next vbComp End Sub
使用步骤:
- 在VBA编辑器里右键点击当前工作簿,选「插入」→「模块」
- 把上面的代码粘贴到新模块里
- 按F5运行宏,所有模块里的
ActiveWindow.ScrollColumn代码行都会被自动移除
内容的提问来源于stack exchange,提问作者Man_Over_Game
相关产品推荐
相关产品推荐

