@Luana Jennifer Boa noite!
Veja se entendi corretamente sua dúvida, ao copiar as informações de uma guia para a outra, alguns dados são perdidos correto?
Veja se esse código te ajuda e atende o que precisa
Sub teste()
Dim linhaatual As Long
Dim Ultimalinha As Long
Dim W As Worksheet
' vUltimaLinhaHistorico = Guarda a ultima linha da Sheet histórico.
Dim vUltimaLinhaHistorico As Long
Set W = Sheets("Contas a Receber")
Ultimalinha = W.UsedRange.Rows.Count
vUltimaLinhaHistorico = Sheets("Historico de Contas recebidas").Range("B" & Rows.Count).End(xlUp).Row + 1
With W
.Activate
' Como é removido a linha no final do copia/cola, a estrutura FOR deve ser da ultima linha para a primeira.
For linhaatual = Ultimalinha To 1 Step -1
If .Cells(linhaatual, "I") = "pago" Then
Sheets("Historico de Contas recebidas").Cells(vUltimaLinhaHistorico, 2) = Format(.Cells(linhaatual, 2), "DD/MM/YYYY")
Sheets("Historico de Contas recebidas").Cells(vUltimaLinhaHistorico, 3) = .Cells(linhaatual, 3)
Sheets("Historico de Contas recebidas").Cells(vUltimaLinhaHistorico, 4) = .Cells(linhaatual, 4)
Sheets("Historico de Contas recebidas").Cells(vUltimaLinhaHistorico, 5) = .Cells(linhaatual, 5)
Sheets("Historico de Contas recebidas").Cells(vUltimaLinhaHistorico, 6) = Format(.Cells(linhaatual, 6), "currency")
' Adiciona +1 no contador.
vUltimaLinhaHistorico = vUltimaLinhaHistorico + 1
.Rows(linhaatual).Delete
Else
End If
Next linhaatual
End With
End Sub