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

Вход

Регистрация

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

 

= Мир MS Excel/Сбор данных со всех листов другой книги. - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Сбор данных со всех листов другой книги. (Макросы/Sub)
Сбор данных со всех листов другой книги.
Amator Дата: Четверг, 19.06.2014, 11:53 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 107
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Здравствуйте. В примере код собирает данные с листов: 1;2;3 книги "Экспорт". Проблемма в следующем. Если в книге "Экспорт" создаются листы 4;5;6 и т.д., постоянно нужно вносить изменения в макрос. Помогите внести изменения, чтоб код собирал данные со всех листов, которие находятся в книге "Экспорт" (перебрал листы по циклу). Спасибо.
К сообщению приложен файл: 8848628.xls (50.5 Kb)
 
Ответить
СообщениеЗдравствуйте. В примере код собирает данные с листов: 1;2;3 книги "Экспорт". Проблемма в следующем. Если в книге "Экспорт" создаются листы 4;5;6 и т.д., постоянно нужно вносить изменения в макрос. Помогите внести изменения, чтоб код собирал данные со всех листов, которие находятся в книге "Экспорт" (перебрал листы по циклу). Спасибо.

Автор - Amator
Дата добавления - 19.06.2014 в 11:53
Rioran Дата: Четверг, 19.06.2014, 16:41 | Сообщение № 2
Группа: Авторы
Ранг: Ветеран
Сообщений: 903
Репутация: 290 ±
Замечаний: 0% ±

Excel 2013
Amator, здравствуйте.

Убрал из кода три разных обращения к конкретным листам, вместо этого добавил переменную и перебор листов, протестируйте.

[vba]
Код
Dim X As Long

For X = 1 To .Worksheets.Count
    With .Worksheets(X)
        iLastRowTempWb = .Cells(Rows.Count, 1).End(xlUp).Row
        iLastRowBaza = BazaSht.Cells(Rows.Count, 1).End(xlUp).Row + 1
        .Range(.Cells(2, 1), .Cells(iLastRowTempWb, 27)).Copy Destination:=BazaSht.Cells(iLastRowBaza, 1)
    End With
Next X
[/vba]
К сообщению приложен файл: WB_runner.xlsm (23.1 Kb)


Роман, Москва, voronov_rv@mail.ru
Яндекс-Деньги: 41001312674279
 
Ответить
СообщениеAmator, здравствуйте.

Убрал из кода три разных обращения к конкретным листам, вместо этого добавил переменную и перебор листов, протестируйте.

[vba]
Код
Dim X As Long

For X = 1 To .Worksheets.Count
    With .Worksheets(X)
        iLastRowTempWb = .Cells(Rows.Count, 1).End(xlUp).Row
        iLastRowBaza = BazaSht.Cells(Rows.Count, 1).End(xlUp).Row + 1
        .Range(.Cells(2, 1), .Cells(iLastRowTempWb, 27)).Copy Destination:=BazaSht.Cells(iLastRowBaza, 1)
    End With
Next X
[/vba]

Автор - Rioran
Дата добавления - 19.06.2014 в 16:41
Amator Дата: Четверг, 19.06.2014, 18:44 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 107
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Rioran, большое Вам спасибо ! Код работает замечательно !
 
Ответить
СообщениеRioran, большое Вам спасибо ! Код работает замечательно !

Автор - Amator
Дата добавления - 19.06.2014 в 18:44
Amator Дата: Понедельник, 23.06.2014, 12:04 | Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 107
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Rioran, здравствуйте. Появилась проблемма. Если в исходных листах формулы- код собирае формулы. Нужно собирать только числа. Помогите ,пожалуйста, внести изменения в код.
 
Ответить
СообщениеRioran, здравствуйте. Появилась проблемма. Если в исходных листах формулы- код собирае формулы. Нужно собирать только числа. Помогите ,пожалуйста, внести изменения в код.

Автор - Amator
Дата добавления - 23.06.2014 в 12:04
Rioran Дата: Понедельник, 23.06.2014, 19:41 | Сообщение № 5
Группа: Авторы
Ранг: Ветеран
Сообщений: 903
Репутация: 290 ±
Замечаний: 0% ±

Excel 2013
Amator, здравствуйте.

Внёс корректировки. Если раньше копировалось всё подряд - форматы, шрифты, цвет, то теперь должны копироваться только числа.
К сообщению приложен файл: 2493984.xlsm (22.4 Kb)


Роман, Москва, voronov_rv@mail.ru
Яндекс-Деньги: 41001312674279
 
Ответить
СообщениеAmator, здравствуйте.

Внёс корректировки. Если раньше копировалось всё подряд - форматы, шрифты, цвет, то теперь должны копироваться только числа.

Автор - Rioran
Дата добавления - 23.06.2014 в 19:41
Amator Дата: Понедельник, 23.06.2014, 21:04 | Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 107
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Rioran, большое спасибо за оказанную помощь.
 
Ответить
СообщениеRioran, большое спасибо за оказанную помощь.

Автор - Amator
Дата добавления - 23.06.2014 в 21:04
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Сбор данных со всех листов другой книги. (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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