我希望在Excel(或VBA)中快速查找替换以查找特定格式的字符串,并在末尾添加一些文本。
示例:查找:A123456
替换为:A123456 FA
我知道我的第一个角色是" A"后跟6位数字。我只需要添加一个空格和一些像#34; FA"在我上面的例子中。
某些单元格包含多个以空格或[Alt + Enters]分隔的字符串。防爆。 " A123456 [Alt + Enter] A987654"
Ex:查找:A123456 [Alt + Enter] A987654 [Alt + Enter] 101878
更换:A123456 FA [Alt + Enter] A987654 FA [Alt + Enter] 101878 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
答案 0 :(得分:1)
意识到这是一个老问题,但是一直在用正则表达式练习并将此问题用作练习。我认为它会实现你想要的。将我引用的字符串替换为包含要测试的字符串的单元格值/范围。而不是使用项目+“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