首页 > 解决方案 > 查找是否有 2 个单元格匹配并替换其中 1 个单元格中的文本

问题描述

如果 2 个特定单元格匹配,我有大量数据需要替换文本。我正在寻找一个公式或可点击选项,以便将其记录为宏。

示例文本;

区域 位置
MP AA
MP AB
MP AC
MP AD

该列表对于每个区域和位置组合都有数百个值。我需要找到任何标记为AD的 Location并将左侧单元格中的文本从MP替换为SEC。一直在挠头几个小时,甚至无法接近结果。

标签: excelexcel-formula

解决方案


这个宏使您在上面谈到的替换,从 Location 标题下开始,并在其下方的第一个空单元格处停止。它的编写是为了让您可以在“位置”和“区域”标题所在的适当单元格地址中输入。

Sub SwapMPtoSECinAD()

Dim AreaCell As Range
Dim LocCell As Range
Dim ColDiff As Long

Set AreaCell = Range("A1") ' <-- Area header cell
Set LocCell = Range("B1") ' <-- Location header cell
ColDiff = AreaCell.Column - LocCell.Column

Set LocCell = LocCell.Offset(1, 0)
While Not IsEmpty(LocCell)
    If Trim(LocCell.Text) = "AD" Then
        If Trim(LocCell.Offset(0, ColDiff).Text) = "MP" Then _
                    LocCell.Offset(0, ColDiff).Value = "SEC"
    End If
    Set LocCell = LocCell.Offset(1, 0)
Wend

End Sub

推荐阅读