Vou tentar explicar passo a passo.
A linha abaixo verifica quantas linhas existem preenchidas na coluna 6 da Plan1
Nesta linha eu defino o objeto Rng como todos os dados da Coluna "F" da Plan2
A linha acima poderia ser substituída, por exemplo, pela linha abaixo:
Esta linha pode ser excluída, aproveitei o código do Alexandre e esqueci de apagar
Aqui eu determino um loop que vai da linha 2 até a ultima linha encontrada (ultimacelula)
Esta linha serve para caso ele dê um erro, não pare o código, e prossiga para a próxima linha do código.
Utilizo a função CORRESP (Match) para verificar qual a posição da cota, na coluna F (Rng)
Código: Selecionar todosindice = Application.WorksheetFunction.Match(Plan1.Cells(i, 6), Rng, 0)
Caso na linha anterior, ao procurar o código der um erro (Err > 0), ele limpa o erro, e não faz mais nada
Caso não seja um erro, ele transfere os dados, onde i é a linha que estou na Plan1 (ver loop For acima) e índice é a linha que encontrei a cota usando a função Match (ver acima também)
Código: Selecionar todos Else
'tranfere os dados
Plan1.Cells(i, 2) = Plan2.Cells(indice, 2)
Plan1.Cells(i, 3) = Plan2.Cells(indice, 3)
Plan1.Cells(i, 7) = Plan2.Cells(indice, 7)
Plan1.Cells(i, 8) = Plan2.Cells(indice, 8)
Plan1.Cells(i, 9) = Plan2.Cells(indice, 9)
End If
Mando verificar a próxima linha da planilha.