В Excel мне нужно заменить значения ячеек, если они совпадают - PullRequest
0 голосов
/ 27 декабря 2018

В моем файле Excel у меня есть два листа и ниже это структура.Если одно или несколько значений в поле «Столбец TC iD» совпадают с первым столбцом на листе 2, тогда идентификаторы на листе 1 заменяются URL-адресом или отображаются в следующем столбце на листе.

Лист 1:

Sheet 1 Contents the data in below format

Лист 2:

[enter image description here]

1 Ответ

0 голосов
/ 27 декабря 2018

попробуйте это:

sub jain()

Dim ws1 as Worksheet, ws2 as Worksheet, xrow1 as long, xrow2 as long, xcol as Int, ID as string
set ws1 = Worksheets("Sheet1")
set ws2 = Worksheets("Sheet2")
xrow1 = 2
xrow2 = 2
xcol = 3

do until ws1.Cells(xrow1, 2) = ""
    do until ws2.Cells(xrow2, 2) = ""    
        ID = ws2.Cells(xrow2, 1).value
        if InStr(1, ws1.Cells(xrow1, 2), ID) > 0 Then
            ws1.Cells(xrow1, xcol).value = ws2.Cells(xrow2, 1).value        
            xcol = xcol + 1
        else:
        End if
    xrow2 = xrow2 + 1
    loop
xrow2 = 2
xcol = 3
loop

end sub

в основном это будет проходить по каждой ячейке и проверять, есть ли совпадение идентификатора.когда он есть, функция InStr будет давать значение 1, делая триггер if, который копирует гиперссылку из sheet2 в ячейки справа от столбца ID в sheet1.

Я сделал это, предполагая, чтона листе 1 столбец идентификатора TC является вторым столбцом, столбец гиперссылки в sheet2 является вторым столбцом (и этот лист имеет заголовки) и что все ячейки справа от столбца идентификатора TC на sheet1 пусты.Если какое-либо из этих предположений неверно, мне нужно изменить значения в коде, чтобы оно работало должным образом.

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

...