Tente adequar à sua necessidade, mas basicamente é isto:
Sub CopiaDados()
Dim rngOrigem As Range
Dim rngDestino As Range
Dim intReg As Integer
On Error GoTo TrErr:
'Informa celula inicial dos dados de origem
Set rngOrigem = xlForm.Cells(2, 1)
'Informa celula inicial de destino
Set rngDestino = xldados.Cells(xldados.Cells(2, 2).CurrentRegion.Rows.Count + 1, 1)
'Busca registros existentes para nao sobrepor
Do While Not IsEmpty(rngDestino)
Set rngDestino = rngDestino.Offset(1, 0)
Loop
'Faz lop nos dados de origem
Do While Not IsEmpty(rngOrigem)
'Busca informacoes do registro encontrado
For intReg = 0 To rngOrigem.CurrentRegion.Rows.Count - 1
'Cola dados no destino
rngDestino.Offset(, intReg) = rngOrigem.Offset(intReg, 0)
Next intReg
'Incrementa celula de origem
Set rngOrigem = rngOrigem.Offset(, 1)
'Incrementa celula de destino
Set rngDestino = rngDestino.Offset(1, 0)
Loop
TrErr:
MsgBox Err.Number & " - " & Err.Description
End Sub
Abs.,
ricardo santos - Obtendo a resposta,marque respondida. Facilite a busca de outros usuários.