Я новичок здесь, и у меня есть проблема с заполнением данных с другого листа.

Лист1 выглядит так:

 _|___A___|___B___|___C___|
 1|   1   |John   |1,35,12|
 2|   2   |Derek  |45,2,1 |
 and so....

Sheet2

 _|___A___|___B___|
 1|   1   |Hammer |
 2|   2   |Nails  |
        . . .
12|   12  |Car    |
        . . . 
35|   35  |Rope   |
        . . .
45|   45  |Vase   |

мне нужно заменить идентификаторы в Sheet1 именами из Sheet2 (разделенных "," или ","), чтобы получить это:

 _|___A___|___B___|_______C_________|
 1|   1   |John   |Hammer,Rope,Car  |
 2|   2   |Derek  |Vase,Nails,Hammer|
 and so....

я не знаю, если это вообще возможно, но если это, пожалуйста, помогите мне

ты :)

1 ответ1

0

добавить этот код в новый модуль в Excel:

Function SplitThenFind(cell As String, sourceColumn As Range)

    Dim myArray As Variant
    Dim element As Variant
    Dim result As String
    Dim findResult As Range

    myArray = Split(cell, ",")

    For Each element In myArray

        Set findResult = Application.Worksheets(sourceColumn.Worksheet.Index).Range(sourceColumn.Address).Find(element, Lookat:=xlWhole)

        If Not (findResult Is Nothing) Then
            ' with offset you can select the column you need
            result = result & findResult.Cells.Offset(0, 1).Value & ","
        End If
    Next

    If Len(result) > 0 Then
      result = Left(result, Len(result) - 1)
    End If

SplitThenFind = result

End Function

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .