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

Вход

Регистрация

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

 

= Мир MS Excel/Перенос данных из нескольких книг в одну и в заданную ячейку - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Перенос данных из нескольких книг в одну и в заданную ячейку
cdj100 Дата: Пятница, 27.12.2019, 07:41 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Добрый день, нужна помощь в доработке макроса ниже:
В исходном варианте он копирует лист 1 из указанного набора книг в текущую книгу.
Хотелось бы, чтобы он копировал указанный диапазон (А1:A13) со всех листов 1 (также из всех выбранных книг) но начиная с выделенной мной ячейки текущей книги, в столбец слева направо. (например столбец А,B)
А при появлении новых книг, новые данные добавлял бы данные, начиная со столба С. И т.д.

Подскажите как корректно изменить код?
[vba]
Код

Sub CombineWorkbooks()
Dim FilesToOpen
Dim x As Integer

Application.ScreenUpdating = False 'отключаем обновление экрана для скорости

'вызываем диалог выбора файлов для импорта
FilesToOpen = Application.GetOpenFilename _
(FileFilter:="All files (*.*), *.*", _
MultiSelect:=True, Title:="Files to Merge")

If TypeName(FilesToOpen) = "Boolean" Then
MsgBox "Не выбрано ни одного файла!"
Exit Sub
End If

'проходим по всем выбранным файлам
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
[/vba]


Сообщение отредактировал cdj100 - Пятница, 27.12.2019, 13:15
 
Ответить
СообщениеДобрый день, нужна помощь в доработке макроса ниже:
В исходном варианте он копирует лист 1 из указанного набора книг в текущую книгу.
Хотелось бы, чтобы он копировал указанный диапазон (А1:A13) со всех листов 1 (также из всех выбранных книг) но начиная с выделенной мной ячейки текущей книги, в столбец слева направо. (например столбец А,B)
А при появлении новых книг, новые данные добавлял бы данные, начиная со столба С. И т.д.

Подскажите как корректно изменить код?
[vba]
Код

Sub CombineWorkbooks()
Dim FilesToOpen
Dim x As Integer

Application.ScreenUpdating = False 'отключаем обновление экрана для скорости

'вызываем диалог выбора файлов для импорта
FilesToOpen = Application.GetOpenFilename _
(FileFilter:="All files (*.*), *.*", _
MultiSelect:=True, Title:="Files to Merge")

If TypeName(FilesToOpen) = "Boolean" Then
MsgBox "Не выбрано ни одного файла!"
Exit Sub
End If

'проходим по всем выбранным файлам
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
[/vba]

Автор - cdj100
Дата добавления - 27.12.2019 в 07:41
китин Дата: Пятница, 27.12.2019, 08:23 | Сообщение № 2
Группа: Модераторы
Ранг: Экселист
Сообщений: 7029
Репутация: 1078 ±
Замечаний: 0% ±

Excel 2007;2010;2016
cdj100, - Прочитайте Правила форума
- Оформите код тегами (в режиме правки поста выделите код и нажмите кнопку #, пояснялка здесь)


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852
 
Ответить
Сообщениеcdj100, - Прочитайте Правила форума
- Оформите код тегами (в режиме правки поста выделите код и нажмите кнопку #, пояснялка здесь)

Автор - китин
Дата добавления - 27.12.2019 в 08:23
  • Страница 1 из 1
  • 1
Поиск:

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