Господа, перечитала уже кучу форумов, но или буратино был тупой, или...
Задача такая, есть отдельные файлы эксель, в них содержится какая-то информация. И один сводный, в который мы собираем данные из конкретной ячейки каждого файла. Т.е. в ячейке прописан путь, откуда подтягивается необходимое. Проблема в том, что каждый год это сводный файл приходится размножать (порядковый номер файла) вручную, вот собственно ищу способ как-то это размножить не руками. Варианты обновления связей и прочее не работают, т.к. если взять файл прошлого года, то вся информация при удалении источника не удаляется, а только заменяется. А с этим сложно работать чтоб отследить что осталось старое, а что уже новое. Образец во вложении.
Помогите, уже голову сломала )) Говорю сразу, с макросами и прочим очень тяжко дружу, но учусь... со скрипом.... [moder]Сюда кладите файл. Это прописано в Правилах форума
Господа, перечитала уже кучу форумов, но или буратино был тупой, или...
Задача такая, есть отдельные файлы эксель, в них содержится какая-то информация. И один сводный, в который мы собираем данные из конкретной ячейки каждого файла. Т.е. в ячейке прописан путь, откуда подтягивается необходимое. Проблема в том, что каждый год это сводный файл приходится размножать (порядковый номер файла) вручную, вот собственно ищу способ как-то это размножить не руками. Варианты обновления связей и прочее не работают, т.к. если взять файл прошлого года, то вся информация при удалении источника не удаляется, а только заменяется. А с этим сложно работать чтоб отследить что осталось старое, а что уже новое. Образец во вложении.
Помогите, уже голову сломала )) Говорю сразу, с макросами и прочим очень тяжко дружу, но учусь... со скрипом.... [moder]Сюда кладите файл. Это прописано в Правилах форумаKeroll
Забегу вперед, если ячейки будут ругаться ССЫЛКА это нормально, по ним мы видим что не заполнено, но главное чтобы там во всех ячейках был записан адрес со сдвигом +1 к порядковому номера из файла, откуда подтягивается информация. Как-то так. ДВС не решение, потому как надо все открывать, а файликов могут быть тысячи (
Пыталась еще зачитаться сбором данных в одну книгу, но что-то совсем не пошло, более того у меня за год будет порядка тыс чайлов откуда нужна подтяжка (
Неужели опять руками прописывать смену порядкового номера в ячейке (((
Забегу вперед, если ячейки будут ругаться ССЫЛКА это нормально, по ним мы видим что не заполнено, но главное чтобы там во всех ячейках был записан адрес со сдвигом +1 к порядковому номера из файла, откуда подтягивается информация. Как-то так. ДВС не решение, потому как надо все открывать, а файликов могут быть тысячи (
Пыталась еще зачитаться сбором данных в одну книгу, но что-то совсем не пошло, более того у меня за год будет порядка тыс чайлов откуда нужна подтяжка (
Неужели опять руками прописывать смену порядкового номера в ячейке (((Keroll
Сообщение отредактировал Keroll - Среда, 20.01.2016, 21:04
Не полностью автоматизировано - если устроит алгоритм, можно и макрос сварганить. Но и руками не долго получится. Идея такова: формируем путь (в примере колонка О), затем копируем значения в колонку D и заменяем маркер на знак "="
Не полностью автоматизировано - если устроит алгоритм, можно и макрос сварганить. Но и руками не долго получится. Идея такова: формируем путь (в примере колонка О), затем копируем значения в колонку D и заменяем маркер на знак "="pabchek
затем копируем значения в колонку D и заменяем маркер на знак "="
Идея вышла хорошей, адрес таки да можно размножить. Но мой скудный ум блондинки не понимает как же теперь заставить это всю прелесть работать как ссылку на ячейку из которой идет подтяжка информации. Копироваться то оно копируется, но таки остается как адрес ( Вы можете как пример мне сделать 2 файла, адрес расположения не важен, просто по аналогии чтобы один из другого вырвал информацию из заданной ячейки.
Не в обиду основателям форума, но я даже не знаю что мне отжать из примера, чтобы влезть в 100кб!
затем копируем значения в колонку D и заменяем маркер на знак "="
Идея вышла хорошей, адрес таки да можно размножить. Но мой скудный ум блондинки не понимает как же теперь заставить это всю прелесть работать как ссылку на ячейку из которой идет подтяжка информации. Копироваться то оно копируется, но таки остается как адрес ( Вы можете как пример мне сделать 2 файла, адрес расположения не важен, просто по аналогии чтобы один из другого вырвал информацию из заданной ячейки.
Не в обиду основателям форума, но я даже не знаю что мне отжать из примера, чтобы влезть в 100кб!Keroll
Сообщение отредактировал Keroll - Четверг, 21.01.2016, 15:04
Вот файлики. В колонке К прописываете свой путь. Затем выделяете данные из колонки О и вставляете их как значения в колонку D. Затем Cntrl+H => заменить ёёё на =
Вот файлики. В колонке К прописываете свой путь. Затем выделяете данные из колонки О и вставляете их как значения в колонку D. Затем Cntrl+H => заменить ёёё на =pabchek
можете как пример мне сделать 2 файла, адрес расположения не важен
Надеюсь, макрос как пример подойдет? Но пример для файлов с именами файл1.xls, файл2.xls и тд, ибо, не представляю как будут выглядеть имена тысяч файлов. [vba]
Код
Sub Собрать() Dim iPath$, iFile$, iList$, iCels$, i&, s& Columns("A:A").ClearContents ' чистим столбец А iPath = "C:\Отчеты\" 'путь к файлу iFile = "файл1" 'имя первого файла iList = "Форма" 'имя листа iCels = "A2" 'имя ячейки i = 1 'счетчик номеров файла s = 2 'Начальная строка записи данных Do While Dir(iPath & iFile & ".xls") <> "" 'Выполняем пока есть файлы 'записываем данные из ячейки А2 найденных файлов Cells(s, "A").Formula = "='" & iPath & "[" & iFile & "]" & iList & "'!" & iCels s = s + 1: i = i + 1 iFile = "файл" & i 'имя следующего файла Loop End Sub
можете как пример мне сделать 2 файла, адрес расположения не важен
Надеюсь, макрос как пример подойдет? Но пример для файлов с именами файл1.xls, файл2.xls и тд, ибо, не представляю как будут выглядеть имена тысяч файлов. [vba]
Код
Sub Собрать() Dim iPath$, iFile$, iList$, iCels$, i&, s& Columns("A:A").ClearContents ' чистим столбец А iPath = "C:\Отчеты\" 'путь к файлу iFile = "файл1" 'имя первого файла iList = "Форма" 'имя листа iCels = "A2" 'имя ячейки i = 1 'счетчик номеров файла s = 2 'Начальная строка записи данных Do While Dir(iPath & iFile & ".xls") <> "" 'Выполняем пока есть файлы 'записываем данные из ячейки А2 найденных файлов Cells(s, "A").Formula = "='" & iPath & "[" & iFile & "]" & iList & "'!" & iCels s = s + 1: i = i + 1 iFile = "файл" & i 'имя следующего файла Loop End Sub