Макрос Excel для сравнения двух столбцов Ax, Bx и при true выведите значение Cx в другой столбец Dx

У меня есть отчет Excel с 60 000 строк и более 30 столбцов. Я хочу сравнить стоимость H1 со всеми значениями в столбце B:B и когда есть совпадение, я хочу напечатать значение Nx в другой столбец BF:BF или же sheet2.A:Aв зависимости от того, что просто, а затем перейти на Hx и так далее.

Пожалуйста, помогите мне. Спасибо заранее.

2 ответа

Зачем использовать макросы?

[BF2] =IF($H$1=B2; N2; "")
[H2]  =BF2

Этот код будет проверять каждую ячейку в столбце B со значениями, хранящимися в ячейке H1 того же листа. Когда значения совпадут, он заполнит отвечающую за ячейку ячейку (по строке) в столбце BF значением столбца "N": просто заполните имена своих листов и в конечном итоге установите меньшее количество строк (до 10000)

Sub CompareValues ()
Dim Wks as Worksheet: Set Wks = Sheets("YourWorkSheetName")
    ' in this worksheet the code will do the lookup and copy values
Dim Wks2 as Worksheet: Set Wks2 = Sheets("YourOtherWorkSheetName")
    ' in this sheet (2) the code will optionally copy the values
CompareValue = Wks.Range("H1").value
    Dim I as integer
    for i = 1 to 10000 ' you can set a smaller value thow
        If Wks.Range("B"&i) = CompareValue then 
        Wks.Range("BF"&i).Value = Wks.Range("N"&i)
        ' to fill the value into another sheet simply replace the Wks with Wks2
        ' Wks2.Range("BF"&i) = = Wks.Range("N"&i)
        end if
    next i
End Sub

Надеюсь это поможет!

Другие вопросы по тегам