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

Вход

Регистрация

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

 

= Мир MS Excel/Консолидация данных с нескольких книг с суммированием - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Консолидация данных с нескольких книг с суммированием (Макросы/Sub)
Консолидация данных с нескольких книг с суммированием
misharin Дата: Четверг, 12.03.2015, 17:21 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 42
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Добрый вечер!
Огромная просьба помочь с написанием макроса для консолидации данных с нескольких в одну общую с суммированием значений в ячейках в каждом листе.
Для примера выкладываю файлы Форма 01, Форма 02 и Форма Общая.

В Формах 01 и 02 содержатся данные в 2-х листах (данные идентичны для удобства проверки) необходимо с этих книг консолидировать данные в книгу "Форма ОБЩАЯ", чтобы данные из книг 01 и 02 заносились в соответствующую ячейку соответствующего листа с суммированием значений, т.е. в данном случае значения в ячейуах должны удвоиться. Диапазон ячеек по которым необходимо суммирование и обобщение данных D11:R38.
К сообщению приложен файл: 8430995.rar (22.3 Kb)
 
Ответить
СообщениеДобрый вечер!
Огромная просьба помочь с написанием макроса для консолидации данных с нескольких в одну общую с суммированием значений в ячейках в каждом листе.
Для примера выкладываю файлы Форма 01, Форма 02 и Форма Общая.

В Формах 01 и 02 содержатся данные в 2-х листах (данные идентичны для удобства проверки) необходимо с этих книг консолидировать данные в книгу "Форма ОБЩАЯ", чтобы данные из книг 01 и 02 заносились в соответствующую ячейку соответствующего листа с суммированием значений, т.е. в данном случае значения в ячейуах должны удвоиться. Диапазон ячеек по которым необходимо суммирование и обобщение данных D11:R38.

Автор - misharin
Дата добавления - 12.03.2015 в 17:21
Kuzmich Дата: Четверг, 12.03.2015, 20:39 | Сообщение № 2
Группа: Проверенные
Ранг: Ветеран
Сообщений: 711
Репутация: 156 ±
Замечаний: 0% ±

Excel 2003
Макрос в стандартный модуль книги Форма ОБЩАЯ
[vba]
Код

Sub Consolidate()
Dim iTempWbName As String
Dim Wbk As Workbook
Dim TempWbk As Workbook
Dim iPath As String
'выключаем некоторые параметры для увеличения скорости обработки файла
     With Application
       .ScreenUpdating = False             'отключение обновление экрана
       .Calculation = xlCalculationManual  'отключение пересчёт формул вручную
       .EnableEvents = False               'отключение событий
       .DisplayAlerts = False              'отключение предупреждающих сообщений
     End With
     Set Wbk = ThisWorkbook
      iPath = Wbk.Path & "\"
      'очищаем диапазоны на двух листах
      Wbk.Worksheets("ВСЕГО ЛЕСОВ").Range("D11:R38").ClearContents
      Wbk.Worksheets("Защитные леса - всего").Range("D11:R38").ClearContents
          iTempWbName = Dir(iPath & "*.xls")
       Do While iTempWbName <> ""
         If iTempWbName <> Wbk.Name Then
           Set TempWbk = Workbooks.Open(iPath & iTempWbName, UpdateLinks:=False, ReadOnly:=True)
             TempWbk.Worksheets("ВСЕГО ЛЕСОВ").Range("D11:R38").Copy
             Wbk.Worksheets("ВСЕГО ЛЕСОВ").Range("D11").PasteSpecial xlPasteValues, xlPasteSpecialOperationAdd
             TempWbk.Worksheets("Защитные леса - всего").Range("D11:R38").Copy
             Wbk.Worksheets("Защитные леса - всего").Range("D11").PasteSpecial xlPasteValues, xlPasteSpecialOperationAdd
           TempWbk.Close savechanges:=False
         End If
           iTempWbName = Dir
       Loop
     With Application
       .ScreenUpdating = True
       .Calculation = xlCalculationAutomatic
       .EnableEvents = True
       .DisplayAlerts = True
     End With
End Sub
[/vba]
 
Ответить
СообщениеМакрос в стандартный модуль книги Форма ОБЩАЯ
[vba]
Код

Sub Consolidate()
Dim iTempWbName As String
Dim Wbk As Workbook
Dim TempWbk As Workbook
Dim iPath As String
'выключаем некоторые параметры для увеличения скорости обработки файла
     With Application
       .ScreenUpdating = False             'отключение обновление экрана
       .Calculation = xlCalculationManual  'отключение пересчёт формул вручную
       .EnableEvents = False               'отключение событий
       .DisplayAlerts = False              'отключение предупреждающих сообщений
     End With
     Set Wbk = ThisWorkbook
      iPath = Wbk.Path & "\"
      'очищаем диапазоны на двух листах
      Wbk.Worksheets("ВСЕГО ЛЕСОВ").Range("D11:R38").ClearContents
      Wbk.Worksheets("Защитные леса - всего").Range("D11:R38").ClearContents
          iTempWbName = Dir(iPath & "*.xls")
       Do While iTempWbName <> ""
         If iTempWbName <> Wbk.Name Then
           Set TempWbk = Workbooks.Open(iPath & iTempWbName, UpdateLinks:=False, ReadOnly:=True)
             TempWbk.Worksheets("ВСЕГО ЛЕСОВ").Range("D11:R38").Copy
             Wbk.Worksheets("ВСЕГО ЛЕСОВ").Range("D11").PasteSpecial xlPasteValues, xlPasteSpecialOperationAdd
             TempWbk.Worksheets("Защитные леса - всего").Range("D11:R38").Copy
             Wbk.Worksheets("Защитные леса - всего").Range("D11").PasteSpecial xlPasteValues, xlPasteSpecialOperationAdd
           TempWbk.Close savechanges:=False
         End If
           iTempWbName = Dir
       Loop
     With Application
       .ScreenUpdating = True
       .Calculation = xlCalculationAutomatic
       .EnableEvents = True
       .DisplayAlerts = True
     End With
End Sub
[/vba]

Автор - Kuzmich
Дата добавления - 12.03.2015 в 20:39
misharin Дата: Пятница, 13.03.2015, 07:36 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 42
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Kuzmich, Огромнейшее спасибо!
Все работает. Буду пробовать на основе этого развернуть всю книгу, т. к. выложил только часть книги из-за ограничений в размере файла.
 
Ответить
СообщениеKuzmich, Огромнейшее спасибо!
Все работает. Буду пробовать на основе этого развернуть всю книгу, т. к. выложил только часть книги из-за ограничений в размере файла.

Автор - misharin
Дата добавления - 13.03.2015 в 07:36
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Консолидация данных с нескольких книг с суммированием (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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