You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于同行Model列指定值执行OEM列的Range.Replace替换?

基于同行列值条件的VBA查找替换实现

要实现仅当同行Model列值为"DW100"时,对OEM列执行指定替换,有两种常用的VBA实现方式:

方法一:遍历单元格逐行判断(直观易懂,适合小数据集)

Sub ReplaceOEMByModel()
    Dim ws As Worksheet
    Dim lastRow As Long
    Dim i As Long
    
    ' 设置目标工作表,可根据实际修改
    Set ws = ThisWorkbook.Worksheets("Sheet1")
    
    ' 获取数据最后一行行号
    lastRow = ws.Cells(ws.Rows.Count, "Model").End(xlUp).Row
    
    ' 遍历每一行数据(假设表头在第1行,从第2行开始)
    For i = 2 To lastRow
        ' 判断同行Model列是否为"DW100"
        If ws.Cells(i, "Model").Value = "DW100" Then
            ' 对当前行OEM列执行替换
            ws.Cells(i, "OEM").Replace What:="Aerostar Aircraft Corporation", _
                Replacement:="Aerostar Aircraft Corp", _
                LookAt:=xlPart, _
                SearchOrder:=xlByRows, _
                MatchCase:=False, _
                SearchFormat:=False, _
                ReplaceFormat:=False
        End If
    Next i
End Sub

方法二:使用AutoFilter筛选后批量替换(效率更高,适合大数据集)

Sub ReplaceOEMWithFilter()
    Dim ws As Worksheet
    Dim oemCol As Range
    Dim lastRow As Long
    
    Set ws = ThisWorkbook.Worksheets("Sheet1")
    
    ' 取消现有筛选(避免冲突)
    If ws.AutoFilterMode Then ws.AutoFilterMode = False
    
    ' 获取数据区域范围
    lastRow = ws.Cells(ws.Rows.Count, "Model").End(xlUp).Row
    Set oemCol = ws.Range("OEM:OEM").Resize(lastRow)
    
    ' 按Model列筛选"DW100"
    ws.Range("Model:Model").AutoFilter Field:=1, Criteria1:="DW100"
    
    ' 对筛选后的OEM列可见单元格执行批量替换
    On Error Resume Next ' 处理无匹配结果的情况
    oemCol.SpecialCells(xlCellTypeVisible).Replace What:="Aerostar Aircraft Corporation", _
        Replacement:="Aerostar Aircraft Corp", _
        LookAt:=xlPart, _
        SearchOrder:=xlByRows, _
        MatchCase:=False, _
        SearchFormat:=False, _
        ReplaceFormat:=False
    On Error GoTo 0
    
    ' 取消筛选
    ws.AutoFilterMode = False
End Sub

代码说明

  • 两种方法都需要先指定目标工作表(Sheet1可根据实际表名修改)
  • 方法一逐行检查条件,逻辑直观但数据量大时速度较慢
  • 方法二通过筛选先缩小范围,再批量替换,执行效率更高,推荐用于数据较多的场景
  • 替换参数和你提供的一致,确保只替换OEM列中包含"Aerostar Aircraft Corporation"的内容

内容的提问来源于stack exchange,提问作者Ana Laura Bianco

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 10:31:01