如何在 Excel 中查找部分文本

如何在 Excel 中查找部分文本

我有两列“A”和“B”。列“A”包含完整文本(1000 个行项目),列“B”包含部分文本(250 个行项目)。如何查找并放置所有部分文本(列 B)行项目,将其与完整文本(列 A)行项目或其出现部分文本的 ROW 编号相对应。

**Column A**
Two Apples are Sweet
Three Apples are Bitter
Five Apples are Sour
Two Grapes are Sweet
Three Grapes are Bitter
Five Grapes are Sour
Two Chilies are Sweet
Three Chilies are Bitter
Five Chilies are Sour

**Column B**
Apple
Chili
Grapes

感谢您的帮助和支持。问候 Anil

答案1

如果您的意思是“查找所有‘Apple’实例并将其替换为其他内容”,那么最好的解决方案可能是简短的 VBA 脚本,因为会有 250 个查找和替换操作。但是,我们仍然不知道您想用什么替换“Apple”,所以我们还不能走太远。如果您在列中有替换值C,那么您的数据表可能看起来像这个 CSV:

六个苹果是甜的,苹果,猴子
三个苹果是苦的,辣椒,大象
五个苹果是酸的,葡萄,牛
六颗葡萄是甜的,,三颗
葡萄是苦的,,
五颗葡萄是酸的,,
六个辣椒是甜的,,
三个辣椒是苦的,,
五个辣椒是酸的,,

...在这种情况下,此 VBA 循环遍历列中的每个单元格B,找到列中的文本A,并将其替换为列中的文本C

Option Explicit
Sub replaceAllText()
    Dim r As Long
    Dim findString As String
    Dim replaceString As String
    With ActiveSheet
        For r = 1 To .UsedRange.Rows.Count
            findString = .Cells(r, 2)
            If LenB(findString) > 0 Then
                replaceString = .Cells(r, 3)
                .Columns("A:A").Replace What:=findString, Replacement:=replaceString, LookAt:=xlPart, _
                    SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
                    ReplaceFormat:=False
            End If
        Next
    End With
End Sub

并给出如下结果:

六只猴子是甜的,苹果,猴子
三只猴子是苦的,辣椒,大象
五只猴子是酸的,葡萄,牛
六头牛是甜的,,
三头牛是苦的,,
五头牛是酸的,,六头
大象是甜的,,
三头大象是苦的,,
五头大象是酸的,,

相关内容