我想知道是否有办法以这种方式查找和替换:
我需要找到包含apt
后跟一个数字的所有单元格。但这个数字总是不同的。那么有一个脚本或其他东西会这样做吗?
查找:apt XX
(the 2 Xs representing the numbers)
REPLACE BY:app 30
所以它会找到apt + a number
因为我有数千行,我不想这样做:
FIND:apt 01 ...
FIND:apt 02 ...
FIND:apt 03 ...
等等
谢谢!
答案 0 :(得分:2)
以下是您要找的内容:
Sub findApt()
Dim count As Integer
count = Application.WorksheetFunction.CountA(Range("B:B"))
Dim i As Integer
i = 1
Do While i <= count
If (InStr(Range("B" & i), "apt")) Then
Range("B" & i) = Mid(Range("B" & i), 1, Application.WorksheetFunction.Search("apt", Range("B" & i)) - 1) & "app 30"
End If
i = i + 1
Loop
End Sub
这假设您的数据在B列中。享受!
答案 1 :(得分:1)
RegEx确实很有用,但我相信内置的“正则表达式”已经足够了。从帮助文件:
使用星号查找任何字符串。例如,s * d找到“sad”和“started”。
使用问号查找任何单个字符。例如,s?t找到“sat”和“set”。
因此,在您的情况下,只需按Ctrl + H即可获取“搜索和替换”对话框,然后将apt *
写入搜索框,并将app 30
写入替换框。
PS:从你的问题中不清楚是否有一些单元格包含apt
后面跟不是数字的东西,应该保留。如果是这种情况,请使用RegEx,如Emmanuel建议或在VBA中使用Scripting.Regex
。
答案 2 :(得分:0)
我建议您安装查找和替换Excel Regex。允许您使用正则表达式查找和替换。