我列出了从 A1 到 A10 的值的简短列表:
A4 包含字符串ab
,而 A5 包含以下公式:
="a" & "b"
如果我运行:
Sub Test1()
Dim r As Range
Set r = Range("A1:A10")
r.Replace What:="ab", Replacement:="x"
End Sub
仅 A4 被修改。
如何在两种情况下都能使用替换方法?
编辑#1:
我总是可以使用循环逐项检查/替换,但是
.Replace
更快。我想我可以构建并使用一个临时的AutoFilter,但这似乎很极端。 最佳答案
这是我创建的:
Option Explicit
Sub TestMe()
Dim myCell As Range
Dim myText As String
For Each myCell In Worksheets(1).Range("A1:A10")
If InStr(myCell.Text, "ab") > 0 Then
myText = myCell.Text
myCell = Replace(myText, "ab", "x")
myCell.Value = myText
End If
Next myCell
End Sub
关于excel - 在公式单元格上使用Range.Replace,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38053120/