xilipi, o ideal seria se tivesse anexado os modelos, mas me baseando pelo que entendi, segue uma rotina basica para buscar em outra Pasta, baseando-se em um Valor(ou condição) informado.
Coloquei os comentários na mesma para ficar mais fácil a compreensão e adaptação, lembrando que as duas Pastas Vendas.xls e Exporta.xls devem estar no mesmo diretório.
Abra a Pasta Vendas e em um Modulo cole a rotina abaixo, ao executa-la, a Pasta Exporta.xls será aberta e o Valor 2 (Variável meuValor) será procurado na Coluna C a partir da Linha 2 (C2) enquanto na coluna C não tiver valores vazios, e ao encontrar Exportarar para a Pasta Vendas.xls para a Coluna B a partir da Linha 13 (B13) o valor que está na Pasta Exporta.xls.
Como não mencionou os nomes das Abas coloquei nomes para facilitar.
Sub ImportarDados()
Dim bCloseIt As Boolean
Dim wsVendas As Worksheet 'Aba importado da Pasta Vendas.xls
Dim wsAExportar As Worksheet 'Aba InfoExportar da Pasta Exporta.xls
Dim wbImportar As Workbook 'Pasta Exporta.xls
Dim sPat As String 'Caminho das Pastas
Dim ColunaC As Variant 'Coluna da Aba InfoExportar da Pasta Exporta.xls
Dim linha As Variant 'Linha da Aba InfoExportar da Pasta Exporta.xls
Dim coluna As Variant 'Coluna da Aba importado da Pasta Vendas.xls
Dim novaLinha As Variant 'Linha da Aba importado da Pasta Vendas.xls
Dim i As Variant
Dim meuValor
Sheets("importado").Activate
'Coluna C da Pasta Exportar Aba InfoExportar
ColunaC = 3 'Coluna C
linha = 2 'Linha 2
'Valor (condição) a procurar
meuValor = 2
'Coluna B da Pasta Vendas Aba importado
coluna = 2 'Coluna B
novaLinha = 13 'Linha 13
sPat = ThisWorkbook.Path 'A Pasta Exportar tem de estar no mesmo diretorio
Set wsVendas = Workbooks("Vendas.xls").Worksheets("importado")
Set wbImportar = Workbooks.Open(sPat & "" & "exporta.xls")
Set wsAExportar = Workbooks("exporta.xls").Worksheets("InfoExportar")
bCloseIt = True
ThisWorkbook.Activate
'Enquanto valores diferentes de vazios
Do While wsAExportar.Cells(linha, ColunaC).Value <> ""
'Se o Valor nas linhas e Colunas pesquisadas forem = a meuValor
If wsAExportar.Cells(linha, ColunaC) = meuValor Then
'Preenche a Pasta Vendas
wsVendas.Cells(novaLinha, coluna) = wsAExportar.Cells(linha, ColunaC).Value
'Incrementa nova linha
novaLinha = novaLinha + 1
End If
'Incrementa a linha
linha = linha + 1
Loop
If bCloseIt = True Then wbImportar.Close True 'Fecha a Pasta Exportar.xls
Range("A1").Activate
End Sub
Espero que ajude, qualquer duvida retorne.
abraços
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Postado : 14/06/2011 6:18 pm