Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.68/34: Рейтинг темы: голосов - 34, средняя оценка - 4.68
0 / 0 / 0
Регистрация: 05.12.2012
Сообщений: 4
1

Как собрать данные из нескольких файлов в один

18.10.2013, 14:29. Показов 6162. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времяни суток!
Помогите плиз Ламеру, сломал голову. Есть задача собрать данные (2 столбца) из более чем двухсот файлов Excel в один. Все файлы одинаковые, из одного шаблона созданы. Могу написать макрос, который будет открывать файл, копировать данные и закрывать файл. Долго будет работать. Может есть какое-нить другое решение?
Обратиться к ячейкам файл не открывая его - например.

Заранее огромное спасибо.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.10.2013, 14:29
Ответы с готовыми решениями:

Собрать данные из нескольких файлов в один
Добрый день! Уважаемые хакеры нужна ваша помощь. Проблема: есть папка в которой...

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

Собрать данные из нескольких листов Excel на один лист
Добрый день! Подскажите как решить следующую задачку: Нужно собрать данные с листов Эксель,...

Перенести данные из нескольких файлов в один
Вопрос таков. Есть несколько таблиц в разных файлах. Мне нужно данные этих таблиц из 3-4 столбцов...

9
Ушел с CyberForum совсем!
873 / 182 / 25
Регистрация: 04.05.2011
Сообщений: 1,020
Записей в блоге: 110
18.10.2013, 16:17 2
Цитата Сообщение от Dear_S Посмотреть сообщение
Обратиться к ячейкам файл не открывая его - например.
а такое возможно, тащемта ?
0
3218 / 967 / 223
Регистрация: 29.05.2010
Сообщений: 2,086
18.10.2013, 22:15 3
Посмотри здесь:
Вытянуть данные из закрытых книг в Excel
1
6922 / 2832 / 543
Регистрация: 19.10.2012
Сообщений: 8,645
19.10.2013, 18:13 4
"Обратиться к ячейкам файл не открывая его" - думаю будет дольше, чем "открывать файл, копировать данные и закрывать файл". Если конечно только не нужно из каждого файла взять по паре ячеек.
А так с getobject() и код проще, и шевелится быстро.
Но в общем если сделаете на формулах как по ссылке - сделайте потом на getobject() и сравните скорость работы.
Только конечно делайте как положено - с отключением всего лишнего, и через массивы (формулы ведь тоже тянут только значения).
1
0 / 0 / 0
Регистрация: 05.12.2012
Сообщений: 4
21.10.2013, 16:10  [ТС] 5
Цитата Сообщение от Hugo121 Посмотреть сообщение
"Обратиться к ячейкам файл не открывая его" - думаю будет дольше, чем "открывать файл, копировать данные и закрывать файл". Если конечно только не нужно из каждого файла взять по паре ячеек.
А так с getobject() и код проще, и шевелится быстро.
Но в общем если сделаете на формулах как по ссылке - сделайте потом на getobject() и сравните скорость работы.
Только конечно делайте как положено - с отключением всего лишнего, и через массивы (формулы ведь тоже тянут только значения).
Спасибо за совет, попробую. Если не сложно рассказать про getobject(), ни когда не пользовался.
0
Ушел с CyberForum совсем!
873 / 182 / 25
Регистрация: 04.05.2011
Сообщений: 1,020
Записей в блоге: 110
22.10.2013, 11:34 6
про GetObject на MSDN
Visual Basic
1
2
3
4
5
6
Sub TestGetObject()
Dim wb As Object
Set wb = GetObject("c:\000\test.xlsx")
cl = wb.Sheets(1).Cells(2, 1) ' читаем содержимое ячейки A2
Debug.Print cl
End Sub
0
6922 / 2832 / 543
Регистрация: 19.10.2012
Сообщений: 8,645
22.10.2013, 12:05 7
Что-то MSDN накосячил чуть (по ссылке не ходил, боюсь что как всегда всё зависнет) - а закрывать этот файл кто будет?
И обязательно нужно закрывать без сохранения - а то так и останется с невидимым окном.
Если нужно в нём что-то изменить - то перед сохранением отобразите окно!
0
0 / 0 / 0
Регистрация: 05.12.2012
Сообщений: 4
22.10.2013, 15:15  [ТС] 8
А если использовать c1= range("A2").FormulaR1C1, насколько этот вариант будет хуже?
0
54 / 39 / 3
Регистрация: 25.01.2013
Сообщений: 368
24.10.2013, 10:58 9
Цитата Сообщение от Dear_S Посмотреть сообщение
А если использовать c1= range("A2").FormulaR1C1, насколько этот вариант будет хуже?
, в принципе ничем, только вместо значения переменная будет иметь формулу в стиле R1C1
0
0 / 0 / 0
Регистрация: 05.12.2012
Сообщений: 4
25.10.2013, 09:58  [ТС] 10
Огромное спасибо.
0
25.10.2013, 09:58
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.10.2013, 09:58
Помогаю со студенческими работами здесь

Собрать из большой кучи файлов разной структуры некоторые данные в один - VBA
Добрый день, с VBA не знакома, прошу подсказать - по форуму поиском смотрю - есть темы -...

Не получатся записать данные из нескольких xml файлов в один
Здравствуйте , подскажите пожалуйста как можно переписать данные из нескольких xml файлов в один. Я...

Как собрать проект из нескольких файлов?
Есть n-ное кол-во файлов *.c. После компиляции получается n-ное кол-во файлов *.o, как из этого...

Как сделать из нескольких файлов один?
Есть несколько файлов, надо чтобы они хранились одним файлом и программа их все прочитать. Т.е....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru