есть данные. имя фамилия отчество нужно со второго листа найти в 1 м листе и есть совпадения сравнить баллы, если есть различия выдать ответ в виде имя фамилия отчество и данные о балах из 1 го листа и 2 го листа. ответ давать в 3 листе
есть данные. имя фамилия отчество нужно со второго листа найти в 1 м листе и есть совпадения сравнить баллы, если есть различия выдать ответ в виде имя фамилия отчество и данные о балах из 1 го листа и 2 го листа. ответ давать в 3 листеdjony
'запускать при активном лист2 Sub iCompare() Dim i As Long Dim iLastRow As Long Dim iLR As Long Dim List1 As Worksheet Dim List3 As Worksheet Dim FoundFIO As Range Dim j As Integer iLastRow = Cells(Rows.Count, "A").End(xlUp).Row Set List1 = ThisWorkbook.Worksheets("Лист1") Set List3 = ThisWorkbook.Worksheets("Лист3") List3.Cells.Clear For i = 2 To iLastRow With List1 Set FoundFIO = .Columns(1).Find(Cells(i, "A"), , xlValues, xlWhole) If Not FoundFIO Is Nothing Then If FoundFIO.Offset(, 1) = Cells(i, "B") And FoundFIO.Offset(, 2) = Cells(i, "C") Then iLR = List3.Cells(List3.Rows.Count, "A").End(xlUp).Row + 1 List3.Cells(iLR, 1) = .Cells(FoundFIO.Row, 1) List3.Cells(iLR, 2) = .Cells(FoundFIO.Row, 2) List3.Cells(iLR, 3) = .Cells(FoundFIO.Row, 3) For j = 4 To 6 List3.Cells(iLR, j) = .Cells(FoundFIO.Row, j) & " - " & Cells(i, 4) Next End If End If End With Next End Sub
[/vba]
Цитата
есть совпадения сравнить баллы
[vba]
Код
'запускать при активном лист2 Sub iCompare() Dim i As Long Dim iLastRow As Long Dim iLR As Long Dim List1 As Worksheet Dim List3 As Worksheet Dim FoundFIO As Range Dim j As Integer iLastRow = Cells(Rows.Count, "A").End(xlUp).Row Set List1 = ThisWorkbook.Worksheets("Лист1") Set List3 = ThisWorkbook.Worksheets("Лист3") List3.Cells.Clear For i = 2 To iLastRow With List1 Set FoundFIO = .Columns(1).Find(Cells(i, "A"), , xlValues, xlWhole) If Not FoundFIO Is Nothing Then If FoundFIO.Offset(, 1) = Cells(i, "B") And FoundFIO.Offset(, 2) = Cells(i, "C") Then iLR = List3.Cells(List3.Rows.Count, "A").End(xlUp).Row + 1 List3.Cells(iLR, 1) = .Cells(FoundFIO.Row, 1) List3.Cells(iLR, 2) = .Cells(FoundFIO.Row, 2) List3.Cells(iLR, 3) = .Cells(FoundFIO.Row, 3) For j = 4 To 6 List3.Cells(iLR, j) = .Cells(FoundFIO.Row, j) & " - " & Cells(i, 4) Next End If End If End With Next End Sub
В таблице 2 листа. Нужно находить в 1 листе ФИО, после находить эту же во в 2 листе. После того как найдены данные сравнивать баллы и если есть расхождения в баллах между 1 и вторым листом, выдавать список или ФИО или номера строк где были изменения. Если изменений нет в сравненнии с 1 и 2 листом соответсвенно пропускать. список может достигать до 3000 строк и больше. Спасибо заранее за помощ
В таблице 2 листа. Нужно находить в 1 листе ФИО, после находить эту же во в 2 листе. После того как найдены данные сравнивать баллы и если есть расхождения в баллах между 1 и вторым листом, выдавать список или ФИО или номера строк где были изменения. Если изменений нет в сравненнии с 1 и 2 листом соответсвенно пропускать. список может достигать до 3000 строк и больше. Спасибо заранее за помощdjony
Куда выдавать список или ФИО или номера строк при несовпадении сумм у одинаковых ФИО??? Суммы сравнивать по столбцу С? Хотя, что выводить, если у вас все суммы совпадают.
Куда выдавать список или ФИО или номера строк при несовпадении сумм у одинаковых ФИО??? Суммы сравнивать по столбцу С? Хотя, что выводить, если у вас все суммы совпадают.Kuzmich