none
O código está dando o erro "Erro em tempo de execução '9' RRS feed

  • Pergunta


  • Boa tarde pessoal.

    Estou precisando de ajuda para finalizar uma instrução que utiliza o with e find. O código está dando o erro "Erro em tempo de execução '9':
     Subscrito fora do intervalo) e eu não estou conseguindo corrigir"

    O código é para contar quantas vezes o número "Pr" aparece em um banco de dados, como o banco de dados e muito grande, mais de 25M itens, pensei em localizar primeiro o número e depois contar quantas vezes ele repete.

    OBS. os nº Pr no banco de dados estão em ordem crescente.

    Segue código:

     

     Cont_Pr = 0
        l = 2
        L2 = 2
        
              Do Until Sheets("Auxiliar").Cells(l, 3).Value = ""
                                             
               Valx = Sheets("Auxiliar").Cells(l, 3).Value
                    
                If Sheets("Auxiliar").Cells(l, 4).Value = 0 Or Sheets("Auxiliar").Cells(l, 4).Value = Empty Then
                    
                   Sheets("MovSigim").Select
                                 
                    With Sheets("MovSigim").Range("A:A")

                       Set EncontrarPRM = .Find(what:=Valx, Lookat:=x1whole)    <<<<  O erro acontece aqui.
                            
                         If Not EncontrarPRM Is Nothing Then
                            
                                Application.GoTo EncontrarPRM, True 'vai até o set encontrarPRM
                        
                            For i = 1 To 50
                                      
                                 'ActiveSheet("MovSigm").Select
                                 
                                 If ActiveCell(L2, 1) = Valx Then
                                               
                                    Cont_Pr = Cont_Pr + 1
                                
                                 End If
                                            
                                L2 = L2 + 1
                                Sheets("Auxiliar").Cells(l, 4).Value = Cont_Pr
                        
                            Next
                        End If
                   End With
                                                               
            
                   End If
                
                     Valx = Clear
                     L2 = 2
                     Cont_Pr = 0
                     l = l + 1
           Loop

     

    Obrigado pessoal!!

    🤜🤛

    quarta-feira, 3 de fevereiro de 2021 19:04

Todas as Respostas