Notifications
Clear all

Importar dados de outra planilha

3 Posts
1 Usuários
0 Reactions
3,970 Visualizações
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Prezados,
Fiz uma pesquisa no forum mas até entao nao consegui achar exatamente o que eu qria,
Negocio é o seguinte. tenho duas tabelas, uma é (exporta.xls) simples exportação do Microsiga sem formatação e com o nome dos campos
a outra (vendas.xls) é onde vou mostrar os resultados formatados,
e toda semana eu gero uma nova tabela (exporta.xls)
Então o que eu preciso é o seguinte.
toda vez q eu abrir a vendas.xls ela busque as informações na exporta.xls e exiba para mim na condição que eu colocar...
exemplo na exporta.xls eu quero buscar o range de C2 até C(quando terminar os registros) e jogar esse resultado para a vendas.xls no range B13 ate B(ate quando acabar os registros) e assim com outras colunas,
alguem poderia me ajudar a começar o codigo?
esse codigo faço na planilha vendas.xls né?

Agradeço a quem puder me ajudar

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 14/06/2011 8:11 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

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
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Muitoooooo Obrigado Mauro,
Funcionou certinho....
agora vou tentar fazer com as outras colunas...

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 15/06/2011 4:43 am