将列中的id替换为具有相同ID的另一列旁边的单元格中的文本(Excel / VBA)

时间:2018-03-11 20:43:45

标签: excel vba excel-vba

我正在尝试使用另一列中相同ID的相邻值替换列中的所有ID。两列中的ID顺序相同但不在同一行。

这就是我的表格:

| id |   | id | text_value |
|----|---|----|------------|
|    |   | 1  | John       |
|    |   | 2  | Mary       |
|    |   | 3  | Andy       |
| 1  |   | 4  | Susan      |
|    |   | 5  | Salomon    |
| 2  |   | 6  | Shana      |
| 3  |   | 7  | Kevin      |
|    |   | 8  | Marc       |

这就是我想要的:

|   id   |   | id | text_value |
|--------|---|----|------------|
|        |   | 1  | John       |
|        |   | 2  | Mary       |
|        |   | 3  | Andy       |
|  John  |   | 4  | Susan      |
|        |   | 5  | Salomon    |
|  Mary  |   | 6  | Shana      |
|  Andy  |   | 7  | Kevin      |
|        |   | 8  | Marc       |

有没有办法用VBA或Excel函数执行此操作?

我使用Excel for Mac v15.40

1 个答案:

答案 0 :(得分:0)

假设您在A到D列中的数据ara并从第2行开始

Sub main()
    Dim cell As Range
    For Each cell In Range("A1", Cells(Rows.Count, 1).End(xlUp)).SpecialCells(xlCellTypeConstants, xlNumbers)
        cell.Value = Range("C2", Cells(Rows.Count, 3).End(xlUp)).Find(WHAT:=cell.Value, LookIn:=xlValues, lookat:=xlWhole).Offset(, 1)
    Next
End Sub