Друзья, очень нужен макрос для копирования данных из разных файлов в каталоге в один сводный файл - подряд строчка за строчкой. Надо кое-что по бирже склеить. Условия: 1. Все файлы в одном каталоге 2. Строчек в файле может быть разное количество 3. Файлов - в каталоге сколько угодно, 4. Имена файлов - какие угодно, 5. формируется автоматически файл-свод.
Пример типового файла из которого планируется вытаскивать данные прилагаю. Заранее спасибо тем кто откликнется. /Алексей/
Друзья, очень нужен макрос для копирования данных из разных файлов в каталоге в один сводный файл - подряд строчка за строчкой. Надо кое-что по бирже склеить. Условия: 1. Все файлы в одном каталоге 2. Строчек в файле может быть разное количество 3. Файлов - в каталоге сколько угодно, 4. Имена файлов - какие угодно, 5. формируется автоматически файл-свод.
Пример типового файла из которого планируется вытаскивать данные прилагаю. Заранее спасибо тем кто откликнется. /Алексей/ escoban
А вообще учитесь пользоваться поиском - подобных кодов(включая точно под Вашу задачу) - не один десяток наберется(думаю и на этом форуме в том числе).The_Prist
Errare humanum est, stultum est in errore perseverare
Сообщение отредактировал The_Prist - Суббота, 20.09.2014, 23:32
Примеры которые Вы мне кинули - мне не подходят. Возможно - я просто не смог разобраться ввиду плохого знания VBA. Если бы я нашел вариант мне подходящий - не стал бы обращаться сюда за помощью
Вот здесь http://www.excelworld.ru/forum/2-4135-1 Матрена выкладывала наиболее близкий к моей нужде вариант, но я никак не соображу как изменить макрос, чтобы вместо только второй строчки, копировалось все содержание листа. Я пробовал заменять Rows("2").Select на Rows("2:180").Select увы не помогло - макрос выдает ошибку. Кто знает как добиться полного копирования листа - подскажите.
[vba]
Код
Sub LLL() Application.ScreenUpdating = False Application.DisplayAlerts = False
Dim Im_Main, Put_File, Put_File_SVOD, NAME_SVOD, schet, str_pch As Variant
Dim FS, KATALOG, FILE, MASSIV As Object Set FS = CreateObject("Scripting.FileSystemObject") Set KATALOG = FS.GetFolder(Put_File) Set MASSIV = KATALOG.Files
schet = 0 For Each FILE In MASSIV schet = schet + 1 Next
Примеры которые Вы мне кинули - мне не подходят. Возможно - я просто не смог разобраться ввиду плохого знания VBA. Если бы я нашел вариант мне подходящий - не стал бы обращаться сюда за помощью
Вот здесь http://www.excelworld.ru/forum/2-4135-1 Матрена выкладывала наиболее близкий к моей нужде вариант, но я никак не соображу как изменить макрос, чтобы вместо только второй строчки, копировалось все содержание листа. Я пробовал заменять Rows("2").Select на Rows("2:180").Select увы не помогло - макрос выдает ошибку. Кто знает как добиться полного копирования листа - подскажите.
[vba]
Код
Sub LLL() Application.ScreenUpdating = False Application.DisplayAlerts = False
Dim Im_Main, Put_File, Put_File_SVOD, NAME_SVOD, schet, str_pch As Variant
Dim FS, KATALOG, FILE, MASSIV As Object Set FS = CreateObject("Scripting.FileSystemObject") Set KATALOG = FS.GetFolder(Put_File) Set MASSIV = KATALOG.Files
schet = 0 For Each FILE In MASSIV schet = schet + 1 Next