Я очень новичок в макросах Excel и VBA, любезно помогите мне , пожалуйста, с моей ситуацией ниже. Вот ситуация, у меня есть два листа (sheet1 и лист 2) в sheet1 есть два столбца имя и номер, а в sheet2 я есть номера вдоль его другой информации, такой как дата, зарядки и т.д.Excel 2010 Макро сравнить два столбца для поиска совпадающего значения
Лист 1
No Name PhoneNumber
1 Боб 7254
2 Cristin 5468
3 Luara 1234
неSheet2
Нет PhoneNumber Дата Заряженные Имя
1 1145 12/30/2014 2 $
2 7254 11/26/2014 3 $
3 2365 3/9/2014 7 $
4 5468 10/10/2014
5 1234 3/11/2014
То, что я хочу, это сравнить столбец PhoneNumber листа2 (столбец B) с столбцом столбца PhoneNumber листа 1 (столбец C) и, если найдено совпадение, тогда скопируйте имя (столбец B) из Sheet1 в столбец Name столбца sheet2 (E). Если нет совпадения, столбец имен на листе2 должен быть пустым. не
я искал и нашел ниже код и изменен немного, но я не уверен, является ли оно правильным или нет:
Sub test()
Dim rng1 As Range, rng2 As Range, i As Integer, j As Integer
For i = 1 To Sheets("Sheet2").Range("B" & Rows.Count).End(xlUp).Row
Set rng1 = Sheets("Sheet2").Range("B" & i)
For j = 1 To Sheets("Sheet1").Range("C" & Rows.Count).End(xlUp).Row
Set rng2 = Sheets("Sheet1").Range("C" & j)
If rng1.Value = rng2.Value Then
Range("B2:B" & TotalRows).Copy Destination:=Sheets("Sheet2").Range("E2")
End If
Set rng2 = Nothing
Next j
Set rng1 = Nothing
Next i
End Sub
Пожалуйста, помогите мне как раз так коротка для моего проекта, и я высоко оценим вашу помощь в этом отношении.
Почему вы просто не используете функцию VLOOKUP для этого, в вашем случае это будет намного проще. Поиск по GOOGLE связан с этим. –
Спасибо Paresh за быстрый ответ, я знаю, что vlookup будет намного проще, но требование использует макрос: (если у вас есть идея, я был бы признателен за вашу помощь! – Hardworker
Вы можете использовать функцию VLOOKUP в своем макросе, а затем просто заполните формулу VLOOKUP для остальную часть ячеек. Вы можете использовать Application.VLOOKUP или Application.WorksheetFunction.VLOOKUP –