Макрос 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
Надеюсь это поможет!