Цикл с дублированием вставки - PullRequest
0 голосов
/ 29 мая 2018

Я работал над кодом 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...