查找并替换两个工作表Excel

时间:2017-11-02 09:23:34

标签: excel vba excel-vba vlookup

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

第一个只有两列

-----------------------------------------------
| 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行,手动执行此操作会非常耗时。

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

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

Screenshot showing replacement

Screenshot showing formulas used for replacement