none
Encontrar valores de uma planilha em planilhas localizadas em outra pasta RRS feed

  • Pergunta

  • Bom dia pessoal!

    Desenvolvi o código abaixo para encontrar valores semelhantes de cada célula da Coluna E da Planilha 1 (PLANILHA DE REFERENCIA) nas Coluna AC de todas as Planilhas (PLANILHAS DE BUSCA) a partir da 2 em diante que se encontram no mesmo arquivo. Os valores encontrados (PLANILHAS DE BUSCA) serão retornados na célula ao lado da que será procurada (PLANILHA DE REFERENCIA) e concatenada com um texto de interesse, além de substituir alguns caracteres.

    Sub BUSCA_SEMELHANTES()
        Dim Procurado As String
        Dim i, QuantPlanilhas, Lin, Col As Integer
        Dim QuantTags As Long
        Const Prefix As String = "XXX_"
        Const Sufix As String = "_YYY"
        Sheets("Plan1").Activate
        QuantTags = Application.CountA(Range("E:E"))
        For Lin = 1 To QuantTags Step 1
            Procurado = Range("E" & Lin).Value
            QuantPlanilhas = ThisWorkbook.Worksheets.Count
            Col = 1
            For i = 2 To QuantPlanilhas Step 1
                With Worksheets(i).Range("AC1:AG100")
                    Set c = .Find(Procurado, LookIn:=xlValues)
                    If Not c Is Nothing Then
                        firstAddress = c.Address
                        Do
                            Worksheets(i).Select
                            Range(c.Address).Select
                            Selection.Copy
                            Sheets("Plan1").Activate
                            Range("E" & Lin).Offset(0, Col).Select
                            Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
                            Application.CutCopyMode = False
                            Range("E" & Lin).Offset(0, Col).Value = Prefix & Range("E" & Lin).Offset(0, Col).Value & Sufix
                            Col = Col + 1
                            Set c = .FindNext(c)
                        Loop While Not c Is Nothing And c.Address <> firstAddress
                    End If
                End With
            Next
        Next
        Sheets("Plan1").Range("F:Y").Replace "-", "_"
    End Sub

    Este código está funcional e atendendo ao que me propus. Estou tentando agora procurar os valores em planilhas que se encontram em outro diretório. Ou seja os valores que serão procurados (PLANILHA DE REFERENCIA) estão em um diretório (pasta) e as planilhas onde eles serão procurados (PLANILHAS DE BUSCA) estão em outro diretório (pasta).

    Já tentei todas as opções possíveis (Application.Goto, Workbooks, etc.) e não obtive sucesso.

    Peço aos nobres colegas uma ajuda ou sugestão.

    segunda-feira, 25 de abril de 2016 14:17

Respostas