Я работал над кодом VBA в течение последней недели или около того и могу получить около 5% от результата, который мне требуется.
У меня есть 2 рабочих листа:
Лист1 - со списком данных в E: E Лист2 - со списком данных в G2: G Оба списка имеют совпадающие значения в списке.
То, что я пытаюсь сделать, это проверить, находится ли каждая ячейка в sheet1 в sheet2, затем скопировать и вставить данные из этой строки в относительную строку соответствующего значения sheet2.Этот бит, который я могу сделать ... Я испытываю трудности, когда у меня есть одно значение в sheet1, но несколько значений в sheet2.Я хочу скопировать и вставить данные только в одном совпадении, но он скопирует и вставит информацию в оба совпадения.Точно так же, если у меня есть 2 значения в sheet1, но только одно значение в sheet2, оно перезаписывает информацию.
Ниже я показал код, который я использую.
Sub FillinAlegs()
Application.ScreenUpdating = False
Dim names As Range, name As Range, values As Range, value As Range, rng As Range
Set values = Worksheets("Sheet1").Range("E1:E" & Worksheets("Sheet1").Range("E" & Rows.Count).End(xlUp).Row) '
Set names = Worksheets("Sheet2").Range("G2:G" & Worksheets("Sheet2").Range("G" & Rows.Count).End(xlUp).Row) '
For Each name In names
For Each value In values
If value.value = name.value Then
Worksheets("Sheet1").Range("A" & value.Row & ":P" & value.Row).Copy Destination:=Worksheets("Sheet2").Range("C" & name.Row & ":R" & name.Row)
End If
Next value
Next name
Application.ScreenUpdating = True
End Sub
Пожалуйста, помогите мне.Я вырываю свои волосы!
Спасибо
Лист2 Лист1