VBA单元格。替换()

VBA单元格。替换(),vba,excel,excel-2010,Vba,Excel,Excel 2010,设置 Cells.Replace "#", "", xlPart 我正在Excel 2012中使用VBA 问题 Cells.Replace "#", "", xlPart 我需要在工作表中搜索并替换任何“#”字符。仅在第一列中。第二个单元格。替换不起作用。我想这是因为“####”不喜欢那种类型的字符串 当前代码 'Find and replace "#" with "" Cells.Replace What:="###", Replacement:="", LookAt:=x

设置

Cells.Replace "#", "", xlPart
我正在Excel 2012中使用VBA

问题

Cells.Replace "#", "", xlPart
我需要在工作表中搜索并替换任何“#”字符。仅在第一列中。第二个单元格。替换不起作用。我想这是因为“####”不喜欢那种类型的字符串

当前代码

    'Find and replace "#" with ""
    Cells.Replace What:="###", Replacement:="", LookAt:=xlPart, SearchOrder:= _
    xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False

    Cells.Replace What:="# # #", Replacement:="", LookAt:=xlPart, SearchOrder:= _
    xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Cells.Replace "#", "", xlPart

任何事情都可以。

删除#

Cells.Replace "#", "", xlPart
**擦#**


编辑:注释说明需要删除################或#########或####35。如果未按预期工作,请确保指定的字符串相同。看起来像是空格字符的内容可能不太一样,因此可以使用Excel中的mid&char函数进行双重检查,或者直接从要查找的单元格之一进行剪切和粘贴

如果您试图替换任何“#”,为什么要使用
What:=“####”
?因为有一些注释使用了#,而我要替换的所有单元格都是####或####或###。那么您不会尝试替换任何“#。您可以发布一些示例数据吗?我已经更改了答案中的代码,以处理扩展的需求。@mr.Reband我试图替换除单个“#”之外的所有不同组合。我从此放弃了那个梦想。太多的组合让它无法优雅地处理。我真的想到了这一点,并尝试了一下。问题是首先没有固定的模式。所以我做了很多版本。最好的方法是使用for循环的某个版本。实际上,我刚刚决定使用您的第一个,并用“”替换所有的“#”s。