none
Codigo não encontra o caminho para a planilha RRS feed

  • Pergunta

  • Amigos preciso da ajuda de vcs com o codigo abaixo esta dando um erro na hora de procura a planilha solicitada no caso a que estou procurando é a Plan2 renomeada como ( Dados ) ela esta dando erro na linha marcada.

     


    Private Sub ProcuraPersonalizada(ByVal TermoPesquisado As String, ByVal sPesquisarNoCampo As String)
    Dim Busca As Range
    Dim Primeira_Ocorrencia As String
    Dim ResultadosLinha As String
    Dim ResultadosPlanilha As String
    Dim sSearchInCol As String
    Dim arrPesquisarNasPlanilhas As Variant
    Dim i As Integer

        'Define a Coluna onde a informação será pesquisada
        sSearchInCol = ConfigColunas(sPesquisarNoCampo)
       
        'Define as Planilhas onde a informação será pesquisada
        arrPesquisarNasPlanilhas = ConfigPlanilhasBase
       
        'Inicializa os resultados
        ResultadosLinha = ""
        ResultadosPlanilha = ""
        MatrizResultadosLinha = ""
        MatrizResultadosPlanilha = ""
                   
        'Executa a busca
       
        For i = 0 To UBound(arrPesquisarNasPlanilhas)
            With Sheets(arrPesquisarNasPlanilhas(i))            " Esta dando erro nessa linha alguem pode me ajuda com esse comando? " 
                If sSearchInCol = "" Then
                    Set Busca = .Cells.Find(What:=TermoPesquisado, After:=.Range("A1"), LookIn:=xlFormulas, _
                        LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
                        MatchCase:=False, SearchFormat:=False)
                Else
                    Set Busca = .Range(sSearchInCol & ":" & sSearchInCol).Find( _
                        What:=TermoPesquisado, _
                        After:=.Range(sSearchInCol & "1"), _
                        LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
                        MatchCase:=False, SearchFormat:=False)
                End If
               
                'Caso tenha encontrado alguma ocorrência...
                If Not Busca Is Nothing Then
               
                    Primeira_Ocorrencia = Busca.Address
                    ResultadosLinha = ResultadosLinha & IIf((Len(ResultadosLinha) > 0), ";", "") & Busca.Row 'Lista o primeiro resultado na variavel - linha da ocorrência
                    ResultadosPlanilha = ResultadosPlanilha & IIf((Len(ResultadosPlanilha) > 0), ";", "") & .Index 'Lista o primeiro resultado na variavel - planilha da ocorrência
               
                    'Neste loop, pesquisa todas as próximas ocorrências para
                    'o termo pesquisado
                    Do
                        If sSearchInCol = "" Then
                            Set Busca = .Cells.FindNext(After:=Busca)
                        Else
                            Set Busca = .Range(sSearchInCol & ":" & sSearchInCol).FindNext(After:=Busca)
                        End If
                   
                        'Condicional para não listar o primeiro resultado
                        'pois já foi listado acima
                        If Not Busca.Address Like Primeira_Ocorrencia Then
                            ResultadosLinha = ResultadosLinha & ";" & Busca.Row
                            ResultadosPlanilha = ResultadosPlanilha & ";" & .Index
                        End If
                    Loop Until Busca.Address Like Primeira_Ocorrencia
               
                End If
            End With
        Next i
       
       
        If Len(ResultadosLinha) > 0 Then    'Se foram encontrados resultados
            MatrizResultadosLinha = Split(ResultadosLinha, ";")
            MatrizResultadosPlanilha = Split(ResultadosPlanilha, ";")
           
            'Atualiza dados iniciais no formulário
            SpinButton1.Max = UBound(MatrizResultadosLinha)  'Valor maximo do seletor de registros
           
            'habilita o seletor de registro
            SpinButton1.Enabled = True
           
            'indicador do seletor de registros
            Label_Registros_Contador.Caption = "1 de " & UBound(MatrizResultadosLinha) + 1
           
           
            'Box com o conteudo encontrado
            With Sheets(CInt(MatrizResultadosPlanilha(0)))
                Label_PlanBase.Caption = "Em " & .Name
                TextBox1.Text = .Cells(MatrizResultadosLinha(0), 1).Value
                TextBox2.Text = .Cells(MatrizResultadosLinha(0), 2).Value
                TextBox3.Text = .Cells(MatrizResultadosLinha(0), 3).Value
                TextBox4.Text = .Cells(MatrizResultadosLinha(0), 4).Value
                TextBox5.Text = .Cells(MatrizResultadosLinha(0), 6).Value
                TextBox6.Text = .Cells(MatrizResultadosLinha(0), 8).Value
                TextBox7.Text = .Cells(MatrizResultadosLinha(0), 9).Value
                TextBox8.Text = .Cells(MatrizResultadosLinha(0), 10).Value
                TextBox9.Text = .Cells(MatrizResultadosLinha(0), 7).Value
            End With
           
            btn_Editar.Enabled = True
            btn_Excluir.Enabled = True
       
        Else    'Caso nada tenha sido encontrado, exibe mensagem informativa
       
            SpinButton1.Enabled = False     'desabilita o seletor de registros
            btn_Editar.Enabled = False
            btn_Excluir.Enabled = False
            Label_Registros_Contador.Caption = ""   'zera os resultados encontrados
            Label_PlanBase.Caption = ""
            'limpa os campos do formulário
            TextBox1.Text = ""
            TextBox2.Text = ""
            TextBox3.Text = ""
            TextBox4.Text = ""
            TextBox5.Text = ""
            TextBox6.Text = ""
            TextBox7.Text = ""
            TextBox8.Text = ""
            TextBox9.Text = ""
            MsgBox "Nenhum resultado para '" & TermoPesquisado & "' foi encontrado."
       
        End If
       
    End Sub

    quarta-feira, 12 de janeiro de 2011 00:18

Todas as Respostas

  • Tentei a sua explicação mais ñ teu certo da o mesmo erro ela ñ encontra a planilha solicitada a Plan2 (dados)

     

     

     

    For i = 1 To UBound(arrPesquisarNasPlanilhas)
    With Sheets(arrPesquisarNasPlanilhas(i))

    Da erro sempre nessa segunda linha onde marca ela de amarelo.

     

     

    quarta-feira, 12 de janeiro de 2011 10:23
  • Vinicius,

    Qual a mensagem de erro que aparece?


    Rafael Gomes dos Santos Consultor de Informática MCAS - Microsoft Certified Application Specialist rafael.gomes.santos@gmail.com https://sites.google.com/site/pfntec/
    quarta-feira, 12 de janeiro de 2011 11:18
  • ñ aparece nem uma mensagem de erro apena a linha abaixo que fica marcada de amarelo quando eu mando o comando roda... ele vai e volta falando que tem algo de errado nessa linha.

     

     

     

     

    With Sheets(arrPesquisarNasPlanilhas(i))

     

     

     

     

     

     

    quarta-feira, 12 de janeiro de 2011 14:47
  • Estou vendo que você usa o comando

    arrPesquisarNasPlanilhas = ConfigPlanilhasBase

    Qual é o valor de ConfigPlanilhasBase?

     


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br
    quarta-feira, 12 de janeiro de 2011 20:42
    Moderador