2013-10-03 3 views
1

У меня есть отчет о превосходстве с 60k строк и 30 + столбцов. Я хочу сравнить значение H1 со всеми значениями в столбце B:B, и когда есть совпадение, я хочу напечатать значение Nx в другой колонке BF:BF или sheet2.A:A, в зависимости от того, что на самом деле просто, а затем перейдите на Hx и так далее.Excel макрос для сравнения двух столбцов Ax, Bx и когда true print Значение Cx в разных столбцах Dx

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

ответ

2

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

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

Этот код проверяет каждую ячейку в столбце B значениями, хранящимися в ячейке H1 того же листа. Если значения совпадают, то он заполняет coresponding ячейки (построчно) в колонке 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 

Надежды это помогает!