查找"abc",替换为"abc"+####

Find "abc", replace with "abc"+####

我有一个包含内容的数据集,例如"abc1234"、"abc2345"、"abc3456"等

"abc" 部分是常量和我找到它们的方法。

但是当我找到它们时,我想替换/删除常量部分和可变部分的 3 个字符。

例如查找 "abc"-> 结果 = "abc1234" -> 将 "abc123" 替换为 "".

我试过用下面的方法来做。使用 # 作为每个变量位置/字符的通配符。但是不起作用...

Selection.Replace what:="abc", Replacement:=""+###, _
LookAt:=xlPart, SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat _
:=False, ReplaceFormat:=False

我做错了什么?

嗯,您必须将通配符放在搜索模式中,而不是替换中。另外,对于单个字符,通配符是 ?

Selection.Replace what:="abc???", Replacement:="", _
   LookAt:=xlPart, SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat _
   :=False, ReplaceFormat:=False

'input   -> output
'abc1234 -> 4
'abc2345 -> 5
'abc3456 -> 6

你试过函数replace()了吗?

Replace("abc1234", "abcd123", "") 给出 4

没有搜索和替换的另一种可能性:

Dim ra As Range
For Each ra In Selection
    If Left(ra.Value, 3) = "abc" Then
ra.Value = Mid(ra.Value, 7, 50)
    End If
Next

在我的 Excel

上工作