Страницы: 1
RSS
Соединить листы на один лист.
 
Всем добрый день,
Тема уже заезжена, но все же в данном контексте , помогите найти решение:

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

Папка
файл 1
файл 2
....
файл n
везде использовать Первый лист, и собирать данные с ячейки А3.

Буду очень признательна за помощь.  :)
Изменено: Кристина Пл - 06.06.2013 14:04:12
 
Загляните в "Приемы".
 
В приемах собирает данные на разные листы, а мне нужно все на один лист поместить. Делаю так (по аналогии с приемами), но не работает и нужно помещать на 1 лист:

' Макрос1 Макрос
     Dim FilesToOpen
     Dim x As Integer
     Application.ScreenUpdating = False  'отключаем обновление экрана для скорости
     FilesToOpen = All files "С:\Моя папка\*.xls")
 
    'проходим по всем выбранным файлам
    x = 1
    While x <= UBound(FilesToOpen)
        Set importWB = Workbooks.Open(Filename:=FilesToOpen(x))
        Sheets(1).Copy After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
        importWB.Close savechanges:=False
        x = x + 1
    Wend
    Application.ScreenUpdating = True
   
End Sub
 
во всех файлах количество листов равно единице?
 
Копируйте не весь лист, а только  importWB.Sheets(1).usedrange и не в новый лист, а в определённую последнюю+1 ячейку столбца A (ну или в каком там столбце будет нижнее значение - нужно видеть файлы).
 
В файлах разное кол-во листов. Данные нужно собирать только с первых листов начиная с 3 строки (или ячейки А3)
 
пример выложите, без примера на пльцах вам уже объяснили  ;)
 
Кол-во строк в файлах разное.
собирать с первых листов всех файлов папки с 3-строки
 
А скрипт можно?
 
Ну значит открыли файл, определили диапазон что копировать, определили куда, копируете. Можно всё описать в одной строке, можно в трёх или даже пяти.
 
Цитата
Кристина Пл пишет: ... только с первых листов начиная с 3 строки (или ячейки А3)
По сусекам ("Ссылкам") поскрести - http://www.rondebruin.nl/win/addins/rdbmerge.htm ... ;)
"Ctrl+S" - достойное завершение ваших гениальных мыслей!.. ;)
 
прилагаю файл Дмитрия (The Prist)

но по-моему он собирает со всех листов всех книг
может сможете сами переделать под себя
 
Б А Х Т И Ё Р , да этот скрипт я уже видела, но к сожалению, он не поддался моей переделке :(
 
по сусекам не очень подходит, т.к. данный макрос нужно будет постоянно использовать для этой папки
 
Цитата
пример выложите, без примера на пльцах вам уже объяснили  ;)  
может не понятно написано?  :)   :)   :)
 
если в наименовании листов всех книг прослеживается система:
то в коде Дмитрия имеются и такие возможности:
   'Указываем имя листа
   'Допустимо указывать в имени листа символы подставки ? и *.
   'Если указать только * то данные будут собираться со всех листов
 
Вот структура данных
 
второй файл, по другому никак
 
третий
 
В этот файл все собираем. Все данные лежат в одной папке, другого в папке нет.
 
Кристина Пл, при создании сообщения есть возможность прикрепить СРАЗУ пять файлов. Вы не заметили?
 
Макрос который не работает, но хотелось бы :

Код
Sub Макрос1()
 Dim FilesToOpen
 Dim x As Integer

 Application.ScreenUpdating = False 
 FilesToOpen = Array("c:\Моя папка\*.xls"  ;)  

 x = 1
 While x <= UBound(FilesToOpen)
 Set importWB = Workbooks.Open(Filename:=FilesToOpen(x))
 importWB.Sheets(1).UsedRange
 importWB.Close savechanges:=False
 x = x + 1
 Wend

Application.ScreenUpdating = True

End Sub
Изменено: Кристина Пл - 06.06.2013 21:06:09
 
И коды оформляйте соответствующим тегом.
 
теги поменяла, 5 фалов не видела.
 
а нельзя как-то просто взять и собрать со всех книг папки данные с первых листов, мне кажется это проще чем перечислять что-то , тем более , что наименования разные.
 
Цитата
Кристина Пл пишет: а нельзя как-то просто
;)
"Ctrl+S" - достойное завершение ваших гениальных мыслей!.. ;)
 
Пользователь Z ,

Вы кажется забыли самое главное - Макрос положить  :)
 
Блииин, ну поиск же работает, совсем недавно давал ссылку в подобной теме сюда загляните
 
Igor67,
Спасибо, работает!
Страницы: 1
Читают тему
Наверх