@jscopa10 Mas ela está limpando e depois puxando as informações. Essa linha: Sheets("Calculo-Geral").Cells(5, 1).CurrentRegion.Offset(1, 0).Delete (ou a que você preferiu utilizar), exclui as informações que estão nesse Range, depois procura as informações na aba desejada e puxa pra Calculo Geral.
Segue abaixo o codigo completo:
Option Explicit
Sub procurar_matricula()
'Aceleradores do código
Application.EnableEvents = False
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Dim aba As String
Dim ultLinha As Long, linhaX As Long, linhaY As Long
'Selecionando uma região p/ depois exlcuir
Sheets("Calculo-Geral").Cells(5, 1).CurrentRegion.Offset(1, 0).Delete
linhaX = Sheets("Calculo-Geral").Cells(Rows.Count, 1).End(xlUp).Row + 1
linhaY = 2
aba = Sheets("Calculo-Geral").Cells(2, 3).Value
ultLinha = Sheets(aba).Cells(Rows.Count, 1).End(xlUp).Row
'Após a exlcusão do Range(A1:I30).Procurando na aba a linha desejada e jogando pra aba desejada
Do Until Sheets(aba).Cells(linhaY, 1).Value = vbNullString
If Sheets("Calculo-Geral").Cells(2, 1).Value = Sheets(aba).Cells(linhaY, 1).Value Then
Sheets(aba).Cells(linhaY, 1).Resize(1, 9).Copy
Sheets("Calculo-Geral").Cells(linhaX, 1).PasteSpecial
linhaX = linhaX + 1
End If
linhaY = linhaY + 1
Loop
Application.EnableEvents = True
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
End Sub
Postado : 28/10/2021 1:37 pm