Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Сбор данных из нескольких файлов - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Сбор данных из нескольких файлов (Макросы/Sub)
Сбор данных из нескольких файлов
Volodya Дата: Среда, 03.05.2017, 14:23 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 21
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Всем привет.

Реально ли реализовать сбор нескольких файлов в один, да так, чтобы информация с нескольких файлов раскидывалась по определенным листам конечного файла?

Пример можно посмотреть во вложении.

Есть файлы 1,2,3,4,5,6. Нужно написать макрос, который будет собирать информацию с этих файлов в конечный файл под номером 7 и раскидывать ее по разным листам. Номер листа в седьмом файле соответствует названию файла из которого берется информация. К примеру информация из файла под номером один должна встать на лист под номером один седьмого файла. Названия листов тех шести файлов всегда соответствуют названиям самих файлов. Форматы файлов должны быть строго такими, какие во вложении. После выполнения макроса все файлы должны закрыться, выполнение самого макроса должно быть без выведения какой-либо информации на экран. Макрос нужно записать в отдельный файл (планируется запускать его через vbs-ник)

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

Если у кого-то есть еще идеи как такое можно реализовать, не обязательно через макрос, — предлагайте, буду благодарен.

На этом, кажется, все. Если будут вопросы — задавайте. Пока что еще раз попробую справиться сам, но идей уже никаких не осталось.

Все файлы во вложении. Летс дискасс!
К сообщению приложен файл: 1494022.rar(16Kb)


Сообщение отредактировал Volodya - Среда, 03.05.2017, 14:58
 
Ответить
СообщениеВсем привет.

Реально ли реализовать сбор нескольких файлов в один, да так, чтобы информация с нескольких файлов раскидывалась по определенным листам конечного файла?

Пример можно посмотреть во вложении.

Есть файлы 1,2,3,4,5,6. Нужно написать макрос, который будет собирать информацию с этих файлов в конечный файл под номером 7 и раскидывать ее по разным листам. Номер листа в седьмом файле соответствует названию файла из которого берется информация. К примеру информация из файла под номером один должна встать на лист под номером один седьмого файла. Названия листов тех шести файлов всегда соответствуют названиям самих файлов. Форматы файлов должны быть строго такими, какие во вложении. После выполнения макроса все файлы должны закрыться, выполнение самого макроса должно быть без выведения какой-либо информации на экран. Макрос нужно записать в отдельный файл (планируется запускать его через vbs-ник)

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

Если у кого-то есть еще идеи как такое можно реализовать, не обязательно через макрос, — предлагайте, буду благодарен.

На этом, кажется, все. Если будут вопросы — задавайте. Пока что еще раз попробую справиться сам, но идей уже никаких не осталось.

Все файлы во вложении. Летс дискасс!

Автор - Volodya
Дата добавления - 03.05.2017 в 14:23
and_evg Дата: Среда, 03.05.2017, 14:51 | Сообщение № 2
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 138
Репутация: 29 ±
Замечаний: 0% ±

Excel 2007
Volodya, нет файлов!
 
Ответить
СообщениеVolodya, нет файлов!

Автор - and_evg
Дата добавления - 03.05.2017 в 14:51
Volodya Дата: Среда, 03.05.2017, 14:57 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 21
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
and_evg, извиняюсь, отвалились
К сообщению приложен файл: Proba.rar(16Kb)
 
Ответить
Сообщениеand_evg, извиняюсь, отвалились

Автор - Volodya
Дата добавления - 03.05.2017 в 14:57
KuklP Дата: Среда, 03.05.2017, 18:00 | Сообщение № 4
Группа: Проверенные
Ранг: Старожил
Сообщений: 2190
Репутация: 467 ±
Замечаний: 0% ±

2003-2010
[vba]
Код
Public Sub www()
    Dim i&
    Application.ScreenUpdating = 0
    For i = 1 To 6
        With Workbooks.Open(ThisWorkbook.Path & "\" & i & ".csv", Origin:=xlWindows, local:=-1)
            .Sheets(1).Range("A1").CurrentRegion.Copy ThisWorkbook.Sheets(CStr(i)).[a1]
            .Close 0
        End With
    Next
    Application.ScreenUpdating = -1
End Sub
[/vba]


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
Сообщение[vba]
Код
Public Sub www()
    Dim i&
    Application.ScreenUpdating = 0
    For i = 1 To 6
        With Workbooks.Open(ThisWorkbook.Path & "\" & i & ".csv", Origin:=xlWindows, local:=-1)
            .Sheets(1).Range("A1").CurrentRegion.Copy ThisWorkbook.Sheets(CStr(i)).[a1]
            .Close 0
        End With
    Next
    Application.ScreenUpdating = -1
End Sub
[/vba]

Автор - KuklP
Дата добавления - 03.05.2017 в 18:00
Volodya Дата: Четверг, 04.05.2017, 05:43 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 21
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
KuklP, Выдает ошибку в строке:
[vba]
Код
.Sheets(1).Range("A1").CurrentRegion.Copy ThisWorkbook.Sheets(CStr(i)).[a1]
[/vba]
 
Ответить
СообщениеKuklP, Выдает ошибку в строке:
[vba]
Код
.Sheets(1).Range("A1").CurrentRegion.Copy ThisWorkbook.Sheets(CStr(i)).[a1]
[/vba]

Автор - Volodya
Дата добавления - 04.05.2017 в 05:43
Pelena Дата: Четверг, 04.05.2017, 06:46 | Сообщение № 6
Группа: Модераторы
Ранг: Местный житель
Сообщений: 11270
Репутация: 2505 ±
Замечаний: 0% ±

Excel 2010, 2016 & Mac Excel
Volodya, покажите файл с макросом и ошибкой


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
СообщениеVolodya, покажите файл с макросом и ошибкой

Автор - Pelena
Дата добавления - 04.05.2017 в 06:46
Volodya Дата: Четверг, 04.05.2017, 06:55 | Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 21
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Pelena, держите. Макрос в листе
К сообщению приложен файл: 5008613.rar(23Kb)
 
Ответить
СообщениеPelena, держите. Макрос в листе

Автор - Volodya
Дата добавления - 04.05.2017 в 06:55
KuklP Дата: Четверг, 04.05.2017, 06:59 | Сообщение № 8
Группа: Проверенные
Ранг: Старожил
Сообщений: 2190
Репутация: 467 ±
Замечаний: 0% ±

2003-2010
Кнопку нажать сможете?
К сообщению приложен файл: 0094842.rar(22Kb)


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
СообщениеКнопку нажать сможете?

Автор - KuklP
Дата добавления - 04.05.2017 в 06:59
Pelena Дата: Четверг, 04.05.2017, 07:01 | Сообщение № 9
Группа: Модераторы
Ранг: Местный житель
Сообщений: 11270
Репутация: 2505 ±
Замечаний: 0% ±

Excel 2010, 2016 & Mac Excel
Так Вы листы пронумеруйте 1,2,3,4... Макрос же именно по таким именам к ним обращается


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
СообщениеТак Вы листы пронумеруйте 1,2,3,4... Макрос же именно по таким именам к ним обращается

Автор - Pelena
Дата добавления - 04.05.2017 в 07:01
Volodya Дата: Четверг, 04.05.2017, 07:02 | Сообщение № 10
Группа: Пользователи
Ранг: Новичок
Сообщений: 21
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
KuklP, спасибо большое. Аж стыдно стало shock
 
Ответить
СообщениеKuklP, спасибо большое. Аж стыдно стало shock

Автор - Volodya
Дата добавления - 04.05.2017 в 07:02
Volodya Дата: Четверг, 04.05.2017, 07:02 | Сообщение № 11
Группа: Пользователи
Ранг: Новичок
Сообщений: 21
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Pelena, и вам спасибо за отзывчивость :)
 
Ответить
СообщениеPelena, и вам спасибо за отзывчивость :)

Автор - Volodya
Дата добавления - 04.05.2017 в 07:02
Volodya Дата: Четверг, 04.05.2017, 07:22 | Сообщение № 12
Группа: Пользователи
Ранг: Новичок
Сообщений: 21
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Pelena, KuklP, последний тупой вопрос: если названия листов и файлов будут другие. Например файлы не 1-6, а arep, brep, crep, drep, erep, frep? Листы тоже так будут называться.
 
Ответить
СообщениеPelena, KuklP, последний тупой вопрос: если названия листов и файлов будут другие. Например файлы не 1-6, а arep, brep, crep, drep, erep, frep? Листы тоже так будут называться.

Автор - Volodya
Дата добавления - 04.05.2017 в 07:22
KuklP Дата: Четверг, 04.05.2017, 07:37 | Сообщение № 13
Группа: Проверенные
Ранг: Старожил
Сообщений: 2190
Репутация: 467 ±
Замечаний: 0% ±

2003-2010
[vba]
Код
Public Sub www()
    Dim i&, f$, ws As Worksheet
    Application.ScreenUpdating = 0
    f = Dir(ThisWorkbook.Path & "\" & "*.csv")
    Do While f <> ""
        With Workbooks.Open(ThisWorkbook.Path & "\" & f, Origin:=xlWindows, local:=-1)
        Set ws = ThisWorkbook.Worksheets.Add
        ws.Name = Left(f, InStr(1, f, ".") - 1)
            .Sheets(1).Range("A1").CurrentRegion.Copy ws.[a1]
            .Close 0
        End With
        f = Dir()
    Loop
    Application.ScreenUpdating = -1
End Sub
[/vba]Соберет все файлы csv из папки и присвоит новым листам имена файлов.


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
Сообщение[vba]
Код
Public Sub www()
    Dim i&, f$, ws As Worksheet
    Application.ScreenUpdating = 0
    f = Dir(ThisWorkbook.Path & "\" & "*.csv")
    Do While f <> ""
        With Workbooks.Open(ThisWorkbook.Path & "\" & f, Origin:=xlWindows, local:=-1)
        Set ws = ThisWorkbook.Worksheets.Add
        ws.Name = Left(f, InStr(1, f, ".") - 1)
            .Sheets(1).Range("A1").CurrentRegion.Copy ws.[a1]
            .Close 0
        End With
        f = Dir()
    Loop
    Application.ScreenUpdating = -1
End Sub
[/vba]Соберет все файлы csv из папки и присвоит новым листам имена файлов.

Автор - KuklP
Дата добавления - 04.05.2017 в 07:37
Volodya Дата: Четверг, 04.05.2017, 08:30 | Сообщение № 14
Группа: Пользователи
Ранг: Новичок
Сообщений: 21
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
KuklP, ух ты! Спасибо огромное!
 
Ответить
СообщениеKuklP, ух ты! Спасибо огромное!

Автор - Volodya
Дата добавления - 04.05.2017 в 08:30
KuklP Дата: Четверг, 04.05.2017, 14:35 | Сообщение № 15
Группа: Проверенные
Ранг: Старожил
Сообщений: 2190
Репутация: 467 ±
Замечаний: 0% ±

2003-2010
ух ты!
В следующий раз выкладывайте не Ваше видение решения, а саму задачу. Избавите и себя и нас от граблей.
P.S. Леночек, спасибо за поддержку :)


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728


Сообщение отредактировал KuklP - Четверг, 04.05.2017, 14:37
 
Ответить
Сообщение
ух ты!
В следующий раз выкладывайте не Ваше видение решения, а саму задачу. Избавите и себя и нас от граблей.
P.S. Леночек, спасибо за поддержку :)

Автор - KuklP
Дата добавления - 04.05.2017 в 14:35
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Сбор данных из нескольких файлов (Макросы/Sub)
Страница 1 из 11
Поиск:

Яндекс цитирования
© 2010-2017 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!