【问题标题】:Find and replace between two worksheets Excel在两个工作表 Excel 之间查找和替换
【发布时间】:2017-11-02 09:23:34
【问题描述】:

我希望能够自动查找和替换,我有两张纸

第一个只有两列

-----------------------------------------------
| Column 1       | Column 2                   |
-----------------------------------------------
| PO-123-LG      | Polygon base Lime Green    |
| PO-123-PR      | Polygon base Plain Red     |
| PO-123-SY      | Polygon base Sunset Yellow |
| HO-123-LG      | Horice base Lime Green     |
-----------------------------------------------

第二张表也有两列

-----------------------------------------------
| Column 1       | Column 2                   |
-----------------------------------------------
| Lime Green     | (Lime-Green)               |
| Plain Red      | (Plain-Red)                |
| Sunset Yellow  | (Sunset-Yellow)            |
-----------------------------------------------

我想使用第二张表在第一张表第 2 列中找到第 1 列,并将其替换为第二张表上的第 2 列,这样我现在就有了

-------------------------------------------------------
| Column 1       | Column 2                           |
-------------------------------------------------------
| PO-123-LG      | Polygon base (Lime-Green) etc etc. |
-------------------------------------------------------

我有近 50000 行,有什么方法可以自动执行此操作,而手动执行此操作将太耗时。

任何帮助将不胜感激。

【问题讨论】:

  • 预期结果中的etc etc. 是什么?

标签: vba excel vlookup


【解决方案1】:

您需要从表 1 的第 2 列中提取基本名称值,然后在 VLOOKUP 中使用该值。如果所有的碱基都包含“碱基”这个词,我们就可以轻松做到这一点。

以下是显示使用 Excel 公式实现的屏幕截图:

【讨论】:

    【解决方案2】:
    Sub replacing()
    
    i = 2
    
    Do While (Len(Sheets("B").Cells(i, 2)) > 0)
        Sheets("A").Columns("B:B").Replace What:=Sheets("B").Cells(i, 1), Replacement:=Sheets("B").Cells(i, 2), LookAt:=xlPart, SearchOrder:=xlByRows
        i = i + 1
    Loop
    
    
    End Sub
    

    【讨论】:

    • 非常感谢,太棒了
    猜你喜欢
    • 1970-01-01
    • 2023-03-26
    • 1970-01-01
    • 2023-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多