VBAreplace错误 – string视为公式
我试图通过用一个空格(“”)replace所有实例“<br />”来清除非常大的Excel电子表格中包含的一些文本。 我已经尝试了两种方法:在Excel中使用普通的查找/replace全部选项,并使用这个非常简单的VBAmacros:
Sub CleanUp() Application.Cells.Replace What:="<br />", Replacement:=Chr(32), LookAt:=xlPart End Sub
在这两种情况下,我收到一条错误消息,指出: “您input的公式包含错误。有关修复常见公式问题的信息,单击帮助。要获得帮助input函数,请单击function向导(公式选项卡,函数库组)如果您不想input公式,请避免使用等号(=)或减号( – ),或在其前面加上单引号(')“。
当然,我不想input一个公式。 但是,前面的“<br />”用Excel单引号表示并不能解决问题。
即使我的searchstring不包含任何通配符(据我所知),我试图在我的macros中玩弄文字字符,看看是否会有所帮助。 它不能解决问题,但是无论如何这里是代码:
Sub CleanUp() Dim SearchFor As String SearchFor = Chr$(60) & "br" & Chr$(32) & Chr$(47) & Chr$(62) Application.Cells.Replace What:=SearchFor, Replacement:=Chr$(32), LookAt:=xlPart End Sub
有用的事实:
- 我可以使用普通的查找/replace方法和VBAmacros轻松地在这个电子表格中find并replace其他string。
- 我有其他类似的电子表格,其中发现和replace“<br />”是可能的。
- 在我的朋友的计算机上,可以使用这两种方法查找并replace“<br />”的所有实例。
有没有人有任何想法,为什么发生这种情况? 这与我的Excel设置有关吗?
你有没有尝试过:
Cells.Replace What:="<br/>", Replacement:=" ", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False