Связь между Excel книгами.VBA.Обновление базы.

Автор Sophie, 03.10.2013, 09:41

« назад - далее »

Sophie

Дорогие форумчане!
Возник у меня  по работе некий вопрос.
Нуждаюсь в свежих идеях по реализации нижеизложенного.
Описываю задачу.

Есть у меня Папка А с сохраненными на каждую дату файлом,в котором куча инфо.
Есть папка Б в котором отчеты,и тоже сохраненные на каждую дату. Отчеты здесь формируются на основе множества данных и сохраняются далее в пдф при помощи макросов.

Мне нужно связать файлы из Б с соответствующей ему датой файлом из А. 
Б-файлам для формирования отчетов нужно забирать из А-файлов некоторые данные.
Задача: обновить имеющуюся базу Б.

Все это нужно сделать при помощи  VBA. Файлы Еxcel-овские.
Скажите, пожалуйста, насколько реально это сделать?Насколько просто? Какие методы? Идеи?
Файлов много, они все тяжелые, с первого января 2013 по сегодняшний день. 

sergo44441

Тут бы нужно видеть формат расположения данных в файлах, в каком виде нужно подтягивать данные
Сформируйте файл-пример: несколько строк из первого файла и из второго (с шапкой таблиц) и результат для 1-2 значений.
Если вопрос будет понятен, то и макрос не заставит себя ждать)))
Не торопись, и все успеешь намного быстрее

Sophie

Цитата: sergo44441 от 03.10.2013, 14:26
Тут бы нужно видеть формат расположения данных в файлах, в каком виде нужно подтягивать данные
Сформируйте файл-пример: несколько строк из первого файла и из второго (с шапкой таблиц) и результат для 1-2 значений.
Если вопрос будет понятен, то и макрос не заставит себя ждать)))

Мне бы только подсказки.

Дело в том, что имеются ряд файлов, названые "FolderA20130503", "FolderA20130504" и тд, в одной папке, "FolderB  03.05.13", "FolderB  04.05.13".  Мне нужно, чтоб моя программа брала открывала А файл и находила в папке Б соответствующий ему по числу файл из Б. То есть, мне нужно, чтоб он распознавал совпадающие числа из А и Б. Нужно как-то convert сделать.

RAN

Convert.
Для опытов вставил на лист в А1 и В1.

Sub Мяу()
a = StrReverse(Val(StrReverse(Range("A1"))))
b = Format(Split(Range("B1"))(1), "YYYYMMDD")
MsgBox a = b
End Sub


Sophie

Оу.Спасибо. Не могли бы вы прокомментировать то, что здесь написано?

RAN

а) Разворачиваем название файла, чтобы можно было использовать Val, функцией Val получаем число, разворачиваем его обратно.
b) Приводим дату из названия второго файла к тому же виду.
Сравниваем.

Sophie