我希望在Excel (或VBA)中做一个快速查找替换,查找特定格式的字符串,并在末尾追加一些文本。
示例: Find: A123456
替换为: A123456 FA
我知道我的第一个字符是"A“,后面跟着6个数字。我只需要在上面的示例中添加一个空格和几个字符,如“FA”。
某些单元格包含用空格或Alt+Enters分隔的多个字符串。例如。"A123456 Alt+EnterA987654“
例如: Find: A123456Alt+EnterA987654Alt+Enter101878
替换: A123456 FAAlt+EnterA987654 FAAlt+Enter101878 FA
我尝试了,?,<>,~*,~?的随机配置,但我看不出什么可以工作。我没有为这个问题找到我需要的东西,但似乎最有用。https://support.office.com/en-us/article/Find-and-replace-text-and-other-data-in-a-Word-document-c6728c16-469e-43cd-afe4-7708c6c779b7?ui=en-US&rs=en-US&ad=US#ex1
发布于 2018-06-04 06:59:28
意识到这是一个老问题,但我已经用正则表达式进行了一些练习,并将这个问题作为练习。我想它会完成你想要的。将我引用的字符串替换为包含要测试的字符串的单元格值/范围。而不是打印项目+“FA”的交换单元格值,即单元格(1,1)=项目+“FA”
Sub NewNew()
Dim reg As RegExp
Set reg = New RegExp
reg.Pattern = "\b([aA\d]?\d{6})"
reg.Global = True
Dim arr As Variant
Dim str As String
str = "123456 A1456 B156221 A742121 C654123 A123456 D123456 E876543"
Set arr = reg.Execute(str)
For Each Item In arr
Debug.Print Item + " FA"
Next Item
End Sub
https://stackoverflow.com/questions/46572004
复制相似问题