Я получил два листа, лист1 содержал всю информацию о реестре за неделю для всех сотрудников, мне нужно скопировать информацию с листа1 на лист2 на основе идентификатора сотрудника в качестве первичного ключа. На листе 2 у меня есть только идентификатор и имя сотрудника отображается. Например, сотрудник 21253, записи смены в понедельник должны отображаться в день1-смену 1, значение TUE должно отображаться в день2-смену1, WED должно отображаться в день3-смену1 и столбец c .SHift2 должен оставаться пустым (пропустите это колонка) Лист1
Лист2:
Мой код написан ниже: он копирует всю информацию, но не в формат показан на листе 2.
Sub transferSheet2()
Dim i As Long, j As Long, lastrow1 As Long, lastrow2 As Long
Dim myname As String
lastrow1 = Sheets("Sheet1").Range("A" & Rows.Count).End(xlUp).Row
For i = 2 To lastrow1
myname = Sheets("Sheet1").Cells(i, "A").Value
Sheets("Sheet2").Activate
lastrow2 = Sheets("Sheet2").Range("A" & Rows.Count).End(xlUp).Row
For j = 2 To lastrow2
If Sheets("Sheet2").Cells(j, "A").Value = myname Then
Sheets("Sheet1").Activate
'copy in sheet1 from column B to I
Sheets("Sheet1").Range(Cells(i, "B"), Cells(i, "I")).Copy
Sheets("Sheet2").Activate
'paste in sheet1 from column B to I
Sheets("Sheet2").Range(Cells(j, "B"), Cells(j, "I")).Select
ActiveSheet.Paste
End If
Next j
Next i
'insert new column
'Call insert_column_every_other
'insert headers
'Call Copy_Header
'Autofit columns
ThisWorkbook.Worksheets("Sheet2").Cells.EntireColumn.AutoFit
End Sub