Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.01.2017, 09:13   #1
Hitrujka
 
Регистрация: 03.06.2015
Сообщений: 8
Смущение Нужен макрос объединения листов2 из книг excel

Доброе утро! Доброй пятницы, уважаемые форумчане

Столкнулась с необходимостью автоматизации следующей задачи:
Каждый день составляется таблица (примеры структуры во вложении).
Необходимо вести отдельный отчетный файл, собирающий такие таблицы в одну.

Есть ли возможность создать макрос, чтобы находясь в таком файле (приложенный) добавлять все его непустые записи в конец другого непустого файла-отчета (содержащего все предыдущие таблицы)?

Прошу помощи в разработке данного макроса.
Вложения
Тип файла: zip списки.zip (19.4 Кб, 7 просмотров)
Hitrujka вне форума Ответить с цитированием
Старый 20.01.2017, 09:33   #2
Demetros
Форумчанин
 
Регистрация: 28.01.2014
Сообщений: 126
По умолчанию

Power Query вам поможет
Demetros вне форума Ответить с цитированием
Старый 20.01.2017, 09:38   #3
Hitrujka
 
Регистрация: 03.06.2015
Сообщений: 8
По умолчанию

Цитата:
Сообщение от Demetros Посмотреть сообщение
Power Query вам поможет
Не желательно. Человек будет пользоваться, который побаивается excel) потому нужен все-таки макрос.
чтоб надо было просто нажать на кнопочку.
Hitrujka вне форума Ответить с цитированием
Старый 20.01.2017, 09:57   #4
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

1. в Personal.xlsb пишем макрос
Код:
Sub test()
    Dim ra As Range: Application.ScreenUpdating = False
    Dim lr As Long
    With Workbooks("Статистика.xlsx").Sheets("Title")
        lr = .Range("A" & .Rows.Count).End(xlUp).row + 1
    End With
    Set ra = Range([a2], Range("a" & Rows.Count).End(xlUp)).SpecialCells(xlCellTypeConstants)
    Intersect(ra.EntireRow, [a:j]).Copy Workbooks("Статистика.xlsx").Sheets("Title").Range("A" & lr)
End Sub
2. создаем книгу "Статистика.xlsx" с листом "title" (если уже существует - открываем ее!)
3. переходим в файл 1.xlsx или 2.xlsx на лист2
4. запускаем макрос из п1.
5. если что-то не нравится - пишем чёткие замечания или ищем свои решения.
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 20.01.2017, 10:04   #5
Hitrujka
 
Регистрация: 03.06.2015
Сообщений: 8
Хорошо

Цитата:
Сообщение от Aleksandr H. Посмотреть сообщение
1. в Personal.xlsb пишем макрос
Код:
Sub test()
    Dim ra As Range: Application.ScreenUpdating = False
    Dim lr As Long
    With Workbooks("Статистика.xlsx").Sheets("Title")
        lr = .Range("A" & .Rows.Count).End(xlUp).row + 1
    End With
    Set ra = Range([a2], Range("a" & Rows.Count).End(xlUp)).SpecialCells(xlCellTypeConstants)
    Intersect(ra.EntireRow, [a:j]).Copy Workbooks("Статистика.xlsx").Sheets("Title").Range("A" & lr)
End Sub
2. создаем книгу "Статистика.xlsx" с листом "title" (если уже существует - открываем ее!)
3. переходим в файл 1.xlsx или 2.xlsx на лист2
4. запускаем макрос из п1.
5. если что-то не нравится - пишем чёткие замечания или ищем свои решения.
Спасибо. Это именно то что надо!
Ничего лишнего.
Hitrujka вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Макрос для объединения ячеек Excel wadzik Microsoft Office Excel 12 24.10.2017 21:32
Нужен макрос объединения одинаковых ячеек и... lakcin Microsoft Office Excel 10 26.03.2015 13:51
Макрос для объединения ячеек в Excel Vadim Lisovec Microsoft Office Excel 28 21.08.2013 12:53
Нужен макрос Excel AlexVerd Фриланс 4 13.07.2012 23:37
Как переделать макрос копировать из других книг(Excel 2003) vfv Microsoft Office Excel 2 18.01.2011 15:22