Страницы: 1
RSS
Сбор данных с накоплением в итоговом файле без полной перезаписи
 
Добрый день!
Вопрос сбора данных из нескольких файлов решен, спасибо форумчанам! Однако не могу найти обсуждения о возможности накопления данных в итоговом файле без перезаписи данных из всех файлов.
Опишу вкратце процесс и необходимость:
1. Собрать файлы из папки
2. Сгенерить общую таблицу в итоговом файле.
3. Далее идет работа с общей таблицей в итоговом файле (заносятся комменты итп)
4. Происходит еженедельное добавление нового файла в папку
5. Необходимо добавлять в общую таблицу данные только из нового файла, чтобы вся информация по уже внесенным ранее осталась без изменений.

Как пример использован один из макросов форумчан и новый файл, который необходимо залить в папку после импорта первых в общую таблицу.

Буду благодарен за идеи.
Вадим.
Изменено: VadimVint - 23.03.2015 16:05:43
 
Как простой вариант без существенной переделки кода - создаем подпапку OLD и переносим в нее все уже обработанные файлы. Добавляется всего одна строка кода:
Код
                     End With
                     .Close saveChanges:=False
                    Name iPath & iTempFileName As iPath & "old\" & iTempFileName ' Эта строка
                End With
Изменено: KuklP - 24.03.2015 01:03:45
Я сам - дурнее всякого примера! ...
 
Да, прикольный вариант и самое главное, что работает :)
Спасибо за помощь!

P.S. Наглость - второе счастье, поэтому хочу озвучить еще одну просьбу напоследок :)
1. Реально ли вписать в макрос условие добавления названия файла в первый столбец и даты импорта во второй?

Спасибо!
Изменено: VadimVint - 24.03.2015 11:05:56
 
Добрый день Уважаемые!
У меня есть к Вам великая просьба, дело в том что я не знаю VBA, пишу все на javascripts и php.
Вопрос заключается в следующем:
Есть много фалов Excel в котором заполнено много ячеек, необходимо из всего этого объединить все в один файл и чтобы туда попали только несколько конкретных ячеек допустим E3, D3, D7 и E4??
В файле который предлагает уважаемый VadimVint идет диапазон ячеек я так полагаю это указано здесь:
Код
With .Worksheets("тест_лист")
                          'номер последней заполенной строки
                          iLastRowTempWb = .Cells(Rows.Count, 1).End(xlUp).Row
                          iLastRowBaza = BazaSht.Cells(Rows.Count, 1).End(xlUp).Row + 1
                          .Range(.Cells(2, 1), .Cells(iLastRowTempWb, 27)).Copy Destination:=BazaSht.Cells(iLastRowBaza, 1)
                     End With
Подскажите как сделать чтобы был не диапазон а конкретные ячейки, так как файлы из которых будет выбираться данные одинаковые.
Нужно это для дальнейшего импорта на сайт.
Надеюсь на Вашу помощь. Спасибо друзья.
 
Если правильно понял вопрос:
Код
.Cells(2, 1).Copy ...
 
Ну да я тоже догадываюсь только вот этих ячеек много. Это получается через запятую?
Вот так
Код
.Range(.Cells(n,n), .Cells(n,n), .Cells(n,n), .Cells(n,n)).copy а вот дальше после копи что писать те же самые ячейки?
 
Раз ячеек несколько, то ведь это уже диапазон, а Вы как раз и спрашивали про НЕ диапазон))
А после .Copy нужно указывать в КАКИЕ ячейки (куда) копировать. Вы бы лучше показали НЕБОЛЬШОЙ файл-пример и объяснили задачу. А то так нет конкретики...
 
Спасибо! Огромное! Именно вы меня подтолкнули, все получилось!))) вот так работает как надо
Код
iLastRowBaza = BazaSht.Cells(Rows.Count, 3).End(xlUp).Row + 1
.Cells(9, 3).Copy Destination:=BazaSht.Cells(iLastRowBaza, 3)
 
Бывает ситуация, что диапазоном никак не скопировать - тогда приходится копировать каждую ячейку отдельно по своему адресу.
 
это да
Страницы: 1
Наверх