Ребята помогите, пожалуйста, составить макрос в VBA (очень уж необходимо)!!!
Так чтобы данный макрос перебирал все файлы *.xls в папке "Detal" (P.S. начало название файлов в папке одинаково "Дет_*"),
брал определённный ячейку А7 в определенном листе "Звонки", (лист и ячейка одинаковы во всех шаблонах)
и переносил их в открытую книгу "Itog" (ну или как-то подругому),
чтобы в итоге получился список:
Плюсы: книги не будут открываться во время работы, можно даже легко на вставку формул переделать.
Минус: нет обработки ошибок, впрочем и так понятно, что если вылезет ошибка обусловленная приложением, то это означает, что листа с именем "Звонки" в книге не оказалось.
Как можно сделать ещё (подсказка). Когда получили путь к файлу и имя файла: а) проверили, нет ли файла с таким именем в открытых книгах, если есть, то получили экземпляр объекта Worksheet (рабочая книга) и булевую переменную установили в False (в начале программы задали как True), если книги нет в открытых, от открываем ее и получаем тот же экземпляр объекта Worksheet. Дальше проверяем есть ли в книге лист с именем "Звонки"? Если есть, то все хорошо - получаем объект рабочего листа, если нет - грязно ругаемся в Debug.Print или MsgBox и корректно завершаем работу макроса. Если объект листа все-таки получен, то получаем из него нужное значение и переходим к следующей книге. Но прежде чем выходить, проверяем булевую переменную. Для True (открывали сами в макросе) закрываем книгу, для False закрывать не надо, просто путь будет Nothing. Как-то так я бы написал, если ворошить надо слишком много файлов и ошибки возможны. Но получилось бы более громоздко, чем у Jasmin, так что пусть будет ее вариант.
Если очень надо, могу потом скинуть мой шаблон вместе с кодом рекурсии Dir и диалогом выбора папки для обработки всех файлов в папке и подпапках, где можно задать шаблон имени фалов для обработки и на примере файлов Excel открывать их все по одному с обработкой ошибок, проверять наличие листа (мне было удобно использовать порядковый номер листа в книге) и делать что-нибудь. Такого рода наработка позволяла мне обрабатывать папки с сложенными многоуровневыми папками однородными по формату файлами Excel на автомате. Хорошо справлялся с папками порядка 1GB и порядка 4000 файлов Excel. Обработка ошибок была необходима, чтобы гарантировать, что всё обработалось как надо, ничего не пропущено и т.п. В отчетный документ также вставлялись возле цифр гиперссылки на книги и их содержащие папки.
Про обработку ошибок я знаю. Просто я не стала заморачиваться на обработку. Человек спрашивает, как перебрать все файлы в папке. А дальше, если нужно, вставит сам обработку. Поэтому написала самый простой вариант.