использование совпадения для получения данных с закрытого рабочего листа

Я пытаюсь получить данные из многочисленных закрытых рабочих листов и перенести их на свой текущий рабочий лист. Проблема в том, что ячейка, в которой данные находятся на разных листах, не согласована. Например, скажем, я хочу получить прибыль от 3 разных файлов (файл 1, 2 и 3), в файле 1 это может быть строка 1, файл 2 в строке 2 и файл 3 в строке 3.

Я пытался использовать формулу worksheet.match и с ячейками .formulae, но ни один из методов не работает. Мне нужно попытаться не открывать все остальные листы, так как их 400. Пожалуйста, может кто-нибудь помочь.


person Paul    schedule 03.02.2012    source источник
comment
Мотыга вы находите данные, т.е. что вы ищете? А всего по 400 закрытых листов(книг?) каждый раз. Является ли вариант стандартизации закрытых книг (правильно или путем вставки строк с помощью VBA, чтобы основная строка находилась в одном и том же месте?   -  person brettdj    schedule 03.02.2012
comment
У меня есть 10 книг по 2,4 Мб каждая. Первый рабочий лист в каждом из них похож, но не идентичен. На моем ноутбуке с частотой 2,1 ГГц 40 повторений цикла, который открывает и закрывает эти 10 файлов, занимает 188 секунд. Поиск фрагмента подвижного текста перед закрытием каждой книги увеличивает продолжительность до 190 секунд. Вы должны передать данные, что займет некоторое время, но, если это ежедневная задача, я не считаю, скажем, четыре минуты излишними. Вы ничего не сказали нам о характере данных, которые вы ищете, и о том, что вы хотите с ними делать. Как вы ожидаете, что мы сможем помочь?   -  person Tony Dallimore    schedule 03.02.2012


Ответы (1)


Вы можете использовать ADO для запросов к закрытым книгам и импортировать их данные в текущую книгу, а не пытаться иметь дело с кучей запутанных формул. Вы можете настроить SQL-запрос для каждой отдельной рабочей книги, чтобы сохранить все ваши строки SQL в массиве, чтобы вы могли выполнять вложенный цикл и запрашивать n рабочих книг. Если это похоже на то, что вы хотели бы изучить, но вам нужна помощь в коде, я был бы рад написать пример.

person Kittoes0124    schedule 06.02.2012