0

我想知道是否有办法以这种方式查找和替换:

我需要找到所有包含apt后跟数字的单元格。但数字总是不同的。那么是否有脚本或其他东西可以做到这一点?

寻找 :apt XX (the 2 Xs representing the numbers)

替换为:app 30

所以它会定位所有的地方apt + a number

因为我有数千行,我不想这样做:

查找 : 01...

查找 : 02...

查找 : 03...

等等

谢谢!

4

3 回答 3

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 列中。享受吧!

于 2012-08-03T19:48:25.087 回答
1

正则表达式确实很有用,但我相信内置的“正则表达式”就足够了。从帮助文件:

使用星号查找任何字符串。例如,s*d 查找“sad”和“started”。

使用问号查找任何单个字符。例如,s?t 查找“sat”和“set”。

因此,在您的情况下,只需按 Ctrl+H 即可获得“搜索和替换”对话框,然后写入apt *搜索框和app 30替换框。

PS:从您的问题中不清楚是否有一些单元格包含apt后跟数字以外的其他内容并且应该保留。如果是这种情况,请按照 Emmanuel 的建议或Scripting.Regex在 VBA 中使用 RegEx。

于 2012-08-03T20:17:14.397 回答
0

我建议您安装 Find And Replace Excel Regex。允许您使用正则表达式进行查找和替换。

于 2012-08-03T19:47:06.363 回答