Olá, bom dia a todos.
Tenho o código abaixo, que faz uma procura  na planilha 3 e retorna os dados procurados na planilha 1. É uma triplice procura. Baseia-se em procurar um nome vinculado a uma data inicial e outra data final. Está funcionando quase perfeitamente, só tem um porém : quando a procura não encontra nenhum dado, mesmo assim  a macro informa: "Os dados solicitados estão prontos". Gostaria que, nesse caso, a macro informa-se que nada foi encontrado. Alguém pode me ajudar? Grata.
Eis o código:
Sub GerarHistorico()
    ActiveSheet.Unprotect (123)
    Application.ScreenUpdating = False
      'Application.EnableEvents = False
      Sheets("HistoricoEscolar").Select
        Dim lastRow As Long
        Dim lastResultRow As Long
        Dim x As Long
              ' Verifica qual a ultima célula preenchida
        lastRow = Plan3.Cells(Rows.Count, 2).End(xlUp).Row 'Planilha 26 Controle Total, Col B
              ' Apaga valores anteriores
        Plan1.Range("a12:G50").ClearContents
        Plan1.Range("a52:G65").ClearContents
           lastResultRow = 12 'O resultado sera colocada a partir da linha 12 da Planilha 1 Histórico Escolar
        ' Ciclo em todas as linhas
       For x = 11 To lastRow 'a linha 11 é a primeira Linha dos dados da pequisa (Plan 3 Controle Total)
           If Plan3.Cells(x, 4).Value >= CDate(Plan1.Range("j3")) And Plan3.Cells(x, 4) <= CDate(Plan1.Range("j4")) And Plan3.Cells(x, 16) = Plan1.Range("j2").Value Then '1 coluna pequisa
                   'Dados, dtas                       Relatorio, Data Inicial       Dados, datas           Relatorio, Data Final    Dados,alunos        Relatorio Aluno
                'Plan 1 HistóricoEscolar             Plan 3 Controle Total
                Plan1.Cells(lastResultRow, 1).Value = Plan3.Cells(x, 2).Value  'Ano
                Plan1.Cells(lastResultRow, 2).Value = Plan3.Cells(x, 3).Value  'Semestre
                Plan1.Cells(lastResultRow, 3).Value = Plan3.Cells(x, 8).Value  'Disciplina
                Plan1.Cells(lastResultRow, 4).Value = Plan3.Cells(x, 9).Value  'Sigla
                Plan1.Cells(lastResultRow, 5).Value = Plan3.Cells(x, 14).Value 'Carga Horaria
                Plan1.Cells(lastResultRow, 6).Value = Plan3.Cells(x, 17).Value ' Média da notas
                Plan1.Cells(lastResultRow, 7).Value = Plan3.Cells(x, 18).Value 'Situação
                lastResultRow = lastResultRow + 1
           End If
        Next
        MsgBox ("Os dados solicitados estão prontos")
    ActiveSheet.Protect (123)
    Application.ScreenUpdating = True
End Sub
                                                                                                	                                                
	                                         
                    
                    	
                            Postado : 05/05/2016 5:54 am