Строка увеличения в поисковом коде Excel Vba

Я застрял в проблеме, когда мой vba не будет увеличивать число строк. Мои таблицы выглядят так: Sheet1

name value aa 11 bb 12 cc 13 aa 14 cc 15 cc 16 aa 17 bb 18 aa 19 

Sheet2

 name aa bb cc 

Мне нужно найти каждое конкретное значение, если оно было найдено, скопируйте соседнюю ячейку в лист2 сразу после поиска. Это код, но проблема заключается в приращении строки, все найденные значения находятся в одной строке (переменная k не работает).

 Sub finall() Dim cable As String Dim finalrow1 As Integer Dim finalrow2 As Integer Dim i As Integer Dim j As Integer Dim k As Integer Dim l As Integer l = 2 k = 2 finalrow2 = Sheets("Sheet2").Range("A1000").End(xlUp).Row finalrow1 = Sheets("Sheet1").Range("A1000").End(xlUp).Row For j = 2 To finalrow2 cable = Sheets("Sheet2").Cells(j, 1).Value For i = 2 To finalrow1 If Cells(i, 1) = cable Then Sheets("Sheet1").Cells(i, 2).Copy Sheets("Sheet2").Cells(k, l).End(xlUp).Offset(1, 0).PasteSpecial l = l + 1 End If Next i k = k + 1 Next j End Sub 

Это только пример в финале. Я хочу применить этот код к таблице с 50-60 тыс. Строк.

Итоговый стол должен выглядеть так:

 name aa 11 14 17 19 bb 12 18 cc 13 15 16 

Спасибо

Окончательный код будет следующим:

 Sub finall() Dim cable As String Dim finalrow1 As Long Dim finalrow2 As Long Dim i As Long Dim j As Long Dim k As Long Dim l As Long l = 2 k = 2 finalrow2 = Sheets("Sheet2").Range("A1000").End(xlUp).Row finalrow1 = Sheets("Sheet1").Range("A1000").End(xlUp).Row Worksheets("Sheet2").Select For j = 2 To finalrow2 cable = Sheets("Sheet2").Cells(j, 1).Value For i = 2 To finalrow1 If Sheets("Sheet1").Cells(i, 1) = cable Then Sheets("Sheet1").Cells(i, 2).Copy Sheets("Sheet2").Cells(k, l).PasteSpecial l = l + 1 End If Next i k = k + 1 l = 2 Next j End Sub 

Доказательство работы

введите описание изображения здесь

  • Инкрементные числа, начинающиеся с нуля в любой ячейке без конкретной ссылки в Excel
  • Макрос, увеличивайте число строк
  • Удалить инкрементные строки в Excel
  • VBA Как увеличить число и вернуть его для повторного использования?
  • Давайте будем гением компьютера.