Я хочу создать макрос, который откроет все книги Excel в папке, прочитает заполненную информацию и сохранит их на листе, который будет представлять мою базу данных.Мне нужно знать ваши предложения и как лучше всего это сделать, чтобы получить быстрый и гибкий результат.
Чтобы помочь вам понять мой вопрос, давайте предположим, что у меня есть 3 шаблона Excel, содержащие Имя,Фамилия и Страна, но на разных позициях, как на этих фотографиях
Шаблон 1 
Шаблон 2 
Шаблон 3 
Исходя из этого, конечный результат, который я хотел бы получитьэто: 
Пример, который я даю на этих рисунках, действительно очень прост, но он просто помог вам понять, чего я хочу.Теперь я подробно расскажу о реальной необходимости.На самом деле у меня есть 3 шаблона, но каждый из них содержит около 80 полей для сбора данных (не только имя, фамилия и страна).И мне не нужно читать только 3 файла, но я должен прочитать около 200 файлов, помещенных в папку, и каждый из них будет либо template1, либо 2 или 3. В будущем у нас может быть шаблон 4, поэтому мне нужночто-то гибкое.
Я думал об именованных диапазонах, но шаблон 1,2,3 уже существует, и я не могу собрать из 200 пользователей 200 существующих файлов исключений, и перед запуском моего макроса, даваяименованный диапазон до поля 80 в каждом файле.Я могу использовать именованный диапазон, если в будущем это будет шаблон 4, поэтому перед отправкой файлов конечному пользователю, который заполнит Excel, мы назовем диапазоны и отправим его ему, но перед шаблоном 4 я должен исправитьпроблема существующих трех существующих шаблонов.
Я также подумал о чтении данных на основе столбцов и индексов строк, например, я проверяю тип файла, и если я читаю файл шаблона один, я получаю имяиз ячейки (2,3), и если это шаблон 2, я получаю информацию из ячейки (5,6), а если это шаблон 3, я получаю информацию от Cel (9,4), но проблема в том,что мой код совсем не будет гибким.
Я также сказал, что мне может понравиться лист, называемый ссылкой, в котором я определяю позиции каждого поля на основе модели шаблона, например, я говорю, чтоимя для шаблона 1 в позиции 2,3 для шаблона 2, имя для 5,6 и для шаблона 3 это 9,4.Как и на следующем рисунке, и когда я перебираю свои 200 файлов, я проверяю, является ли это шаблон 1, я читаю справочный лист и знаю, что имя будет в этой позиции, то же самое для шаблона 2 и так далее ...Это решение выглядит как предыдущее, но более гибкое, потому что все, что нам нужно изменить, это справочная таблица, если что-то изменится, но мне интересно, будет ли это быстрым или медленным, если для каждого поля мне нужно будет прочитать 2 клеткисправочный лист, чтобы узнать положение.
Я действительно потерян, потому что мне нужно выбрать лучший способ сделать то, что я хочу, прежде чем начать кодирование, чтобы избежать потери времени.Если кто-то из экспертов поможет мне, расскажет, что лучше, или даст больше идей, чем я думал, я буду очень признателен.
Заранее благодарен любому помощнику
РЕДАКТИРОВАТЬ: @PEH, чтоты думаешь о том, чтобы я сделал свою таблицу поиска такой?
РЕДАКТИРОВАТЬ 2: @PEH, это то, что предлагается в последнем комментарии 