【发布时间】:2021-01-02 10:52:07
【问题描述】:
我在 VBA 中创建了一个简单的代码来隐藏和显示某些列,但现在我想使用“查找和替换”窗口替换所有模块中的部分代码。
(请原谅我的编码知识非常低……我真的需要解决这个问题)
例如我有一个代码:
' Hide column "Region"
Range("A:A").Select
Selection.EntireColumn.Hidden = True
并希望在所有模块中将其替换为:
' Hide column "Region" (INACTIVE)
Range("A:A").Select
Selection.EntireColumn.Hidden = False
我尝试使用 VBA 中的“查找和替换”窗口并在“查找内容”框中输入原始代码,但我最终只在框中显示第一行:
' 隐藏“区域”列
如何在“查找内容”框中键入代码以搜索整个代码?我尝试使用“^p”、“”、“\p”和“”在“查找内容”框中键入以下内容,但没有得到任何搜索结果:
' 隐藏列 "Region"^pRange("A:A").Select^pSelection.EntireColumn.Hidden = True
' 隐藏列“Region”Range("A:A").SelectSelection.EntireColumn.Hidden = True
' 隐藏列 "Region"\pRange("A:A").Select\pSelection.EntireColumn.Hidden = True
' 隐藏列“Region”Range("A:A").SelectSelection.EntireColumn.Hidden = True
等等……
我曾经成功做过一次,但我不记得我是怎么做到的!有人可以帮助我吗?
【问题讨论】:
-
您实际上要查找和替换什么?我能看到的唯一区别是真/假。
-
我正在尝试替换整个三行,因为它在许多不同的模块中多次出现。唯一的区别是我在第一行添加“(INACTIVE)”并在最后一行更改真/假。
-
别以为你能做到。您最好参数化您的子/功能。一种解决方法可能是将其粘贴到 Word 中。
-
现在当你提到它时,我想我上次可能已经通过将代码提取到 Word 并在那里查找和替换然后用新代码替换 VBA 中的代码来解决它......我会再试一次 - 非常感谢!
-
通过避免选择,您可以将代码减少到一行。