Я надеюсь, что есть способ сделать это. Я предоставлю немного предыстории, чтобы увидеть, возможно ли это.

Я работаю в строительной компании, которая отслеживает количество рабочих мест, и каждая работа имеет ряд этапов. Есть две папки, которые содержат файлы последовательности Excel для заданий: "Последовательность" для активных заданий и "Старая последовательность" для закрытых заданий. Файлы с заданиями Excel называются «1376-1», «1376-2», «1376-2», где "1376" - номер задания, а "1" - фаза. Каждая отдельная работа будет иметь серию лотов (индивидуальный дом), которые могут варьироваться от 1 до 10 или даже больше. Мы отслеживаем 3 части работы: EF, DM, HDW. Когда много отгружается каждый из них, мы вводим дату в соответствующем столбце.

То, что я хочу сделать, это отслеживать все партии, которые отправили HDW по соответствующему номеру работы и имеют активный текущий итог. Так, например, если я помещу задание № 1376 в ячейку A1, я хочу, чтобы ячейка B1 подсчитывала все лоты, которые имеют дату в столбце HDW файлов Excel, которые имеют заголовок "1376" и расположены в обеих "Последовательностях". "и" Old-Sequence "папки.

У нас около 100, поэтому в столбце 1 будет указан ряд рабочих номеров для отслеживания. Кто-нибудь знает, если это возможно?

1 ответ1

1

Это звучит возможно, но это будет сложно. Вот как я представляю себе работу кода VBA:

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.

Вам придется выяснить, как сделать несколько вещей ...

  1. Получить список всех файлов Excel в каталоге. Это может помочь.

  2. Определите, существует ли строка в имени файла. Это может помочь.

Также полезно знать, как обращаться к нескольким рабочим книгам и как обращаться с вложенными циклами. Надеюсь, что это приведет вас на правильный путь.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .