【发布时间】:2013-05-09 15:24:33
【问题描述】:
如果这个问题听起来太基础,我说我对 Excel VBA 的经验为零。我已经尝试过使用 Dim 和数组,但我没有实现我的目标。我要么得到错误,要么出现无限循环。
基本上我有 5 个不同的旧文本要替换,我想创建一个数组,围绕它循环,以便将它们全部删除。
Sub AutoReplace()
Dim myArray(1 To 5) As String
myArray(1) = "Text1"
myArray(2) = "Text2"
myArray(3) = "Text3"
myArray(4) = "Text4"
myArray(5) = "Text5"
For Each item In myArray
ActiveCell.Select
ActiveCell.Columns("A:A").EntireColumn.Select
Selection.Replace What:=item, Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Next item
End Sub
我正在寻找关于我的代码有什么问题的建议,或者是一种完全不同的方法。我只是在上面提到的最终目标。
【问题讨论】:
-
为什么每次都选择
ActiveCell?此外,如果您“遇到错误”,您还应该说明错误是什么以及在哪一行代码。 -
看,我已经说过我是一个完全的菜鸟,所以我可能并不完全知道我正在尝试的所有事情的解释。我的问题不是要解决一行代码中的特定错误,而是要实现函数的目标。