pode deixar , parceiro essa eu ja consegui resolver
fiz com o codigo abaixo
Sub atualailiza()
Application.ScreenUpdating = False
Application.CutCopyMode = False
Dim ws As Worksheet, wr As Worksheet
Dim i As Integer, j As Integer
Set wr = Sheets("Planilha1")
Set ws = Sheets("mega")
i = 0
j = 0
Do While wr.Range("A2").Offset(i + 1, 0).Value <> ""
If wr.Range("A2").Offset(i, 0).Value = "" Then
Exit Do
End If
If wr.Range("A2").Offset(i, 0).Value = ws.Range("A17").Value Then
ws.Range("A17").ListObject.ListRows.Add (1)
ws.Range("A17").Value = wr.Range("A2").Offset(i + 1, 0).Value
ws.Range(ws.Range("A17").Offset(0, 1), ws.Range("A17").Offset(0, 6)).Value = _
wr.Range(wr.Range("A2").Offset(i + 1, 2), wr.Range("A2").Offset(i + 1, 7)).Value
End If
i = i + 1
Loop
preencher_form
End Sub
o bom é que assim nao precisa ficar trocando de planilha para a copia dos dados. então nao usa nem select nem activate. somente .value