Sub vvv() With Sheets("Лист2") Lr = .Cells(Rows.Count, 1).End(xlUp).Row a = .Range("A1:A" & Lr).Value Set sd = CreateObject("Scripting.Dictionary") For i = 1 To UBound(a) sd.Item(a(i, 1)) = "" Next
For i = 1 To Sheets("Лист1").Cells(Rows.Count, 1).End(xlUp).Row If Not sd.Exists(Sheets("Лист1").Cells(i, 1).Value) Then sd.Item(Sheets("Лист1").Cells(i, 1).Value) = "" Lr = Lr + 1 .Cells(Lr, 1) = Sheets("Лист1").Cells(i, 1) .Cells(Lr, 2) = Sheets("Лист1").Cells(i, 2) End If Next End With End Sub
[/vba]
Он сравнивает данные по столбцу А на двух листах и если они не совпадают то копирует с Листа 1 на Лист 2 столбцы А,B.
Помогите переделать его так чтобы он сравнивал данные по столбцу А и при совпадении данных копировал столбцы А,В,С с Листа 1 в конец Листа 1 и дописывал дальше данные столбцов D,E,F c Листа 2.
Есть такой макрос : [vba]
Код
Sub vvv() With Sheets("Лист2") Lr = .Cells(Rows.Count, 1).End(xlUp).Row a = .Range("A1:A" & Lr).Value Set sd = CreateObject("Scripting.Dictionary") For i = 1 To UBound(a) sd.Item(a(i, 1)) = "" Next
For i = 1 To Sheets("Лист1").Cells(Rows.Count, 1).End(xlUp).Row If Not sd.Exists(Sheets("Лист1").Cells(i, 1).Value) Then sd.Item(Sheets("Лист1").Cells(i, 1).Value) = "" Lr = Lr + 1 .Cells(Lr, 1) = Sheets("Лист1").Cells(i, 1) .Cells(Lr, 2) = Sheets("Лист1").Cells(i, 2) End If Next End With End Sub
[/vba]
Он сравнивает данные по столбцу А на двух листах и если они не совпадают то копирует с Листа 1 на Лист 2 столбцы А,B.
Помогите переделать его так чтобы он сравнивал данные по столбцу А и при совпадении данных копировал столбцы А,В,С с Листа 1 в конец Листа 1 и дописывал дальше данные столбцов D,E,F c Листа 2.Rolanlev