terça-feira, 17 de junho de 2014

3. ABRINDO ARQUIVOS A PARTIR DE UMA ÁRVORE

         Meus queridos! Na última lição, aprendemos a gerar uma árvore com todos os arquivos de um determinado diretório. Talvez você tenha se perguntado: pra que fizemos isto sô? Calma, eu respondo!!!
            Repisando a velha história de precisar manipular muitos arquivos, talvez você não queira abrir todos e especificar quais devem ser abertos.
            Sendo assim, no próximo código, vamos dizer quais queremos, ok?
            Na mesma planilha que geramos a árvore, vamos trazer na coluna “D” o valor total das vendas. Na coluna “E”, vamos colocar a palavra abrir, para todas as que queremos extrair o total.


            A ideia é simples, assim que rodarmos a macro, os arquivos que serão abertos estão determinamos na coluna “E”.
            Veja como o código é simples!

Sub TotalFiliaisArvore()
Dim NomArq                              'declaramos a variável que receberá o nome do arquivo que será aberto
Set ShtArv = Sheets("Árvore")           'declaramos a planilha que receberá os dados
Lin = 2
Do While ShtArv.Cells(Lin, 1) <> ""     'agora percorremos todos os arquivos no diretório à procura do que nos interessa
    If ThisWorkbook.Sheets("Árvore").Cells(Lin, 5) = "Abrir" Then
       
        Workbooks.Open ShtArv.Cells(Lin, 2) 'se acharmos, vamos abri-lo. Perceba que agora estamos abrindo pelo endereço que geramos na árvore
       
        NomArq = ActiveWorkbook.Name        'captura o nome do arquivo
       
        'Após abri-lo, precisamos pegar a informação que queremos e tranferí-la para o nosso relatório.
        With ThisWorkbook.Sheets("Árvore")
            .Cells(Lin, 4) = ActiveWorkbook.ActiveSheet.Range("B2") 'e finalmente, o valor
        End With
       
        Workbooks(NomArq).Close             'fechamos o arquivo, pois já pegamos a informação que queriamos
    End If
    Lin = Lin + 1                       'incremente a linha para abrirmos o próximo arquivo
Loop
End Sub

            Ao rodar o código teremos!

                       

            Veja! Somente os valores requeridos foram trazidos. Mão na roda não é?!!!

            Nos vemos na próxima lição!!!

Para acessar o curso completo Clique aqui 

Nenhum comentário: