VBA的Excel – 我需要取代这=,“”F与这=,“F但不是它在哪里这=,”“,

对不起,标题似乎令人困惑。 有一个工作簿,我正在试图写一个macros的大量的数据。 这就像查找/replace,但是对于我所拥有的数据非常具体。

例如:replace:“Micky Mouse,Inc。”,“Donald Duck”,“”,

用:,“Micky Mouse,Inc。”,“Donald Duck”,“”,

我需要最后一个,“”,留下一个人。 我不确定如何正确写这个。

我不想为每个示例编写程序,因为这些专有名称将继续添加,并且不希望每次都重写VBA代码。

提前致谢!

你总是可以做一个空的引号的初始replace,然后做你的正常replace。 这是最直接的方法。

 Sub custFindReplace(srchRng As Range) Dim c As Range For Each c In srchRng.Cells c.Value = Replace(c.Value, ","""",", ","""""""",") c.Value = Replace(c.Value, """""", """") Next c End Sub 

如果你的逻辑保持这么简单,那么更有效的方法(如Siddarthbuild议的)应该是使用内置的查找/replace:

 Sub custFindReplace(srchRng As Range) srchRng.Replace What:=","""",", Replacement:=","""""""",", LookAt:=xlPart srchRng.Replace What:="""""", Replacement:="""", LookAt:=xlPart End Sub 

除了我的评论,

这是你正在尝试?

 Sub Sample() Dim UniqueKey As String UniqueKey = "BROCKHAGER_KEY" With ThisWorkbook.Sheets(1).Cells .Replace What:=""",""""", Replacement:=UniqueKey, LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False .Replace What:="""""", Replacement:="""", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False .Replace What:=UniqueKey, Replacement:=""",""""", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False End With End Sub