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

Вход

Регистрация

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

 

= Мир MS Excel/Скопировать данные из выбранных книг Excel - Мир MS Excel

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

Excel 2010
Здравствуйте уважаемые форумчане! :)
В очередной раз нужна помощь профессионалов для написания макроса. :'(

Имеется книга 12345.xlsm (в приложении) с 2-мя листами.
на 1-м листе есть кнопка, которая открывает окно выбора файлов. (GetOpenFile)

Задача:
1. Выбрать один или несколько файлов, можно несколько одновременно (выбираем файлы Excel)
2. Скопировать таблицу из выбранных файлов с Листа1 на Лист2 текущей книги (Важно, чтоб таблицу можно было пополнять)
3. Формат выбираемых файлов представлен в книге 123.xlsx (копировать надо только данные которые выделены зеленым, синие не надо)
4. Строк в таблице, в выбираемых файлах может быть много, 100 и больше

Спасибо! :)
К сообщению приложен файл: 12345.xlsm(21Kb) · 123.xlsx(11Kb)


Сообщение отредактировал Aleksej - Среда, 23.03.2016, 18:27
 
Ответить
СообщениеЗдравствуйте уважаемые форумчане! :)
В очередной раз нужна помощь профессионалов для написания макроса. :'(

Имеется книга 12345.xlsm (в приложении) с 2-мя листами.
на 1-м листе есть кнопка, которая открывает окно выбора файлов. (GetOpenFile)

Задача:
1. Выбрать один или несколько файлов, можно несколько одновременно (выбираем файлы Excel)
2. Скопировать таблицу из выбранных файлов с Листа1 на Лист2 текущей книги (Важно, чтоб таблицу можно было пополнять)
3. Формат выбираемых файлов представлен в книге 123.xlsx (копировать надо только данные которые выделены зеленым, синие не надо)
4. Строк в таблице, в выбираемых файлах может быть много, 100 и больше

Спасибо! :)

Автор - Aleksej
Дата добавления - 23.03.2016 в 18:22
Wasilich Дата: Среда, 23.03.2016, 19:07 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1084
Репутация: 295 ±
Замечаний: 0% ±

2003
Aleksej, опять информация не полная!!!
Вы не указали,
1. Во всех ли файлах типа 123 таблицы идентичны.
2. Все ли данные начинаются с 9-й строки?
Вам предложат макрос и окажется - не так, потому, что таблицы разные и начинаются с разных колонок и разных строк. А это уже другой подход.
 
Ответить
СообщениеAleksej, опять информация не полная!!!
Вы не указали,
1. Во всех ли файлах типа 123 таблицы идентичны.
2. Все ли данные начинаются с 9-й строки?
Вам предложат макрос и окажется - не так, потому, что таблицы разные и начинаются с разных колонок и разных строк. А это уже другой подход.

Автор - Wasilich
Дата добавления - 23.03.2016 в 19:07
Aleksej Дата: Среда, 23.03.2016, 19:09 | Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 60
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Wasilich,
1. Формат файлов идентичный
2. которые есть проверил все с 9 строки.

Извиняюсь, сразу забыл добавить, что там в конце таблицы есть ИТОГО, его тоже не надо копировать (копируются только строки таблицы)
в приложении исправил.
К сообщению приложен файл: 1121027.xlsx(11Kb)


Сообщение отредактировал Aleksej - Среда, 23.03.2016, 19:17
 
Ответить
Сообщение Wasilich,
1. Формат файлов идентичный
2. которые есть проверил все с 9 строки.

Извиняюсь, сразу забыл добавить, что там в конце таблицы есть ИТОГО, его тоже не надо копировать (копируются только строки таблицы)
в приложении исправил.

Автор - Aleksej
Дата добавления - 23.03.2016 в 19:09
Wasilich Дата: Среда, 23.03.2016, 21:13 | Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 1084
Репутация: 295 ±
Замечаний: 0% ±

2003
Wasilich,
1. Формат файлов идентичный
Информация нужна не лично мне. А всем, кто решится помочь.
Мои же варианты, как всегда, не совсем профессиональны, растянуты, типа для начинающих, как и я сам. :D У Сергея KuklP, весь код был бы ~ строчек 5-6. yes :D
[vba]
Код
Sub www()
  Dim iFile$, rFile$, otkuda As Range
  rFile = ActiveWorkbook.Name       'рабочий файл
  iFile = Application.GetOpenFilename _
      ("Excel files(*.xls*),*.xls*", 1, "Выбрать Excel файлы", , False)
  iFile = Dir(iFile)  'Выбранный файл
  If iFile = "" Then
     Exit Sub 'нажата кнопка отмены - выход из процедуры
  End If
  'MsgBox "Выбран файл: " & iFile
  Application.ScreenUpdating = False  'отключаем экран (что б не моргал)
  Application.Workbooks.Open Filename:=iFile 'открываем выбранный файл
  PS = Sheets("Лист1").Range("B" & Rows.Count).End(xlUp).Row 'номер последней заполненной строки листа
  Set otkuda = Sheets("Лист1").Range("A9:X" & PS)
  Workbooks(rFile).Activate 'активируем рабочий файл
  PS = Sheets("Лист2").Range("B" & Rows.Count).End(xlUp).Row + 1 'номер последней заполненной строки листа
  otkuda.Copy Sheets("Лист2").Range("B" & PS)
  Workbooks(iFile).Close
  Application.ScreenUpdating = True
End Sub
[/vba]


Сообщение отредактировал Wasilich - Среда, 23.03.2016, 21:22
 
Ответить
Сообщение
Wasilich,
1. Формат файлов идентичный
Информация нужна не лично мне. А всем, кто решится помочь.
Мои же варианты, как всегда, не совсем профессиональны, растянуты, типа для начинающих, как и я сам. :D У Сергея KuklP, весь код был бы ~ строчек 5-6. yes :D
[vba]
Код
Sub www()
  Dim iFile$, rFile$, otkuda As Range
  rFile = ActiveWorkbook.Name       'рабочий файл
  iFile = Application.GetOpenFilename _
      ("Excel files(*.xls*),*.xls*", 1, "Выбрать Excel файлы", , False)
  iFile = Dir(iFile)  'Выбранный файл
  If iFile = "" Then
     Exit Sub 'нажата кнопка отмены - выход из процедуры
  End If
  'MsgBox "Выбран файл: " & iFile
  Application.ScreenUpdating = False  'отключаем экран (что б не моргал)
  Application.Workbooks.Open Filename:=iFile 'открываем выбранный файл
  PS = Sheets("Лист1").Range("B" & Rows.Count).End(xlUp).Row 'номер последней заполненной строки листа
  Set otkuda = Sheets("Лист1").Range("A9:X" & PS)
  Workbooks(rFile).Activate 'активируем рабочий файл
  PS = Sheets("Лист2").Range("B" & Rows.Count).End(xlUp).Row + 1 'номер последней заполненной строки листа
  otkuda.Copy Sheets("Лист2").Range("B" & PS)
  Workbooks(iFile).Close
  Application.ScreenUpdating = True
End Sub
[/vba]

Автор - Wasilich
Дата добавления - 23.03.2016 в 21:13
Aleksej Дата: Четверг, 24.03.2016, 04:31 | Сообщение № 5
Группа: Пользователи
Ранг: Участник
Сообщений: 60
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Wasilich, Спасибо большое за помощь! :) Вроде всё работает без проблем. hands


Сообщение отредактировал Aleksej - Четверг, 24.03.2016, 04:31
 
Ответить
Сообщение Wasilich, Спасибо большое за помощь! :) Вроде всё работает без проблем. hands

Автор - Aleksej
Дата добавления - 24.03.2016 в 04:31
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Скопировать данные из выбранных книг Excel (Макросы/Sub)
Страница 1 из 11
Поиск:

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