Obtendo informações de várias pastas de trabalho em dois arquivos diferentes [closed]

0

Espero que haja uma maneira de fazer isso. Vou fornecer um pouco de fundo para ver se é possível.

Eu trabalho para uma empresa de construção que controla os trabalhos por números e cada trabalho tem uma série de fases. Existem duas pastas que contêm os arquivos de seqüência do Excel para os trabalhos, "Sequência" para trabalhos ativos e "Sequência antiga" para trabalhos fechados. Os arquivos do Excel são intitulados "1376-1", "1376-2", "1376-2", com "1376" sendo o número do trabalho e "1" sendo a fase. Cada trabalho individual terá uma série de lotes (casa individual) que podem variar de 1 a 10 ou até mais. Existem 3 partes de um trabalho que rastreamos para envio: EF, DM, HDW. Quando muito envia cada um deles, inserimos a data na coluna correspondente.

O que eu quero fazer é acompanhar todos os lotes que enviaram o HDW pelo número do trabalho correspondente e têm um total ativo atual. Então, por exemplo, se eu colocar o número 1376 na célula A1, quero que a célula B1 conte todos os lotes que têm uma data na coluna HDW dos arquivos do Excel que tenham o título "1376" e estejam localizados em "Sequence". "e" Old-Sequence "pastas.

Temos cerca de 100, então a coluna 1 terá uma série de números de trabalho para rastrear. Alguém sabe se isso é uma possibilidade?

    
por clockwood 26.04.2018 / 19:17

1 resposta

1

Isso parece possível, mas vai ser complicado. Veja como eu imagino o código VBA funcionando:

Iterate through all job numbers in your main worksheet. For each one:

    Iterate through all .xlsx files in your Sequence folder. For each one:
        If the filename includes the job number:
            Iterate through all rows, add up the cells in the HDW column with a date. 
            Add that number to the current job number's row in your main worksheet.
        If the filename does not include the job number, skip it.

    Iterate through all .xlsx files in your Old-Sequence folder. For each one:
        If the filename includes the job number:
            Iterate through all rows, add up the cells in the HDW column with a date. 
            Add that number to the current job number's row in your main worksheet.
        If the filename does not include the job number, skip it.

Você terá que descobrir como fazer algumas coisas ...

  1. Obtenha uma lista de todos os arquivos do Excel em um diretório. Isso pode ajudar.

  2. Determine se existe uma string em um nome de arquivo. Isso pode ajudar.

Saber como fazer referência a várias pastas de trabalho e como lidar com loops aninhados também será útil. Espero que isso te coloque no caminho certo.

    
por 26.04.2018 / 21:30