Форум по VBA и MS Office

VBA, Excel => VBA, макросы в Excel => Тема начата: Onetime от 24 июня 2024, 21:07

Название: Макрос для извлечения части данных из книги Excel
Отправлено: Onetime от 24 июня 2024, 21:07
Добрый день. Прошу помочь с написанием макроса в Excel.

Есть в облаке на работе просто огромная книга с данными о продажах. Ее обновляют каждый месяц. Нужен макрос для извлечения данных из нее по параметрам фильтрации, чтобы потом эти данные обрабатывать с помощью сводной таблицы, не открывая как раз исходник.

Надстройки в Excel отсутствуют, поэтому вижу решение только путем макроса. Одно из решений вижу как использование dic = CreateObject("Scripting.Dictionary"), может у вас есть другие оптимальные решения без перегрузки кэша.

Самые важные фильтры как раз для создания сокращенного массива вижу "Названия ЖК", "месяц и год продажи".
Название: Макрос для извлечения части данных из книги Excel
Отправлено: Администратор от 24 июня 2024, 22:07
Вы хотите извлечь данные из большого эксель-файла, не открывая его, т.к. файл очень большой и долго открывается?
Если да, то попробуйте спросить на каких-нибудь форумах или поищите в интернете Power Query. Я с ним не работаю, поэтому не разбираюсь в нём.

Если использовать стандартные средства vba-excel, то потребуется открыть файл, чтобы извлечь из него данные. Можно попробовать использовать библиотеки для работы с базами данных, но как-раз Power Query и был сделан, чтобы заменить все старые инструменты для работы с базами данных.

Но чтобы использовать Power Query данные должны быть в виде таблицы: строки, столбцы. Без каких-либо объединений ячеек, без пустых строк и тому подобного - только обычная таблица.
Название: Макрос для извлечения части данных из книги Excel
Отправлено: Onetime от 24 июня 2024, 22:12
Так Power Qwerty тоже первый на ум пришел. Но нет надстроек, устанавливать не хотят, ссылаясь на безопасность. Поэтому придумываю костыльные методы.
Название: Макрос для извлечения части данных из книги Excel
Отправлено: Администратор от 24 июня 2024, 22:13
Файл долго открывается?
Название: Макрос для извлечения части данных из книги Excel
Отправлено: Onetime от 24 июня 2024, 22:18
Минуты две. Там данные о продажах с 2009 года по всей Москве всех конкурентов. Хочется хотя бы отсечь до 2023 года. Остальные фильтрации и срезы проще уже через сводную с меньшим массивом реализовать
Название: Макрос для извлечения части данных из книги Excel
Отправлено: Администратор от 24 июня 2024, 22:19
Какая сейчас проблема у вас? Файл долго открывается или данные долго обрабатываются?
Название: Макрос для извлечения части данных из книги Excel
Отправлено: Onetime от 24 июня 2024, 22:27
Долго открывается и внутри руками только отсеивать (как умная таблица организован). Копировать массив в отдельную книгу и потом с ней работать. Часть фильтров одни и те же, задача регулярная каждый месяц. Хочется поставить набор фильтров, чтобы извлекался меньший массив и уже с ним работать (дабы внутри не порушить записи).
Создать макрос, чтобы в новой книге его запускать и он туда выгружал массив поменьше.
Название: Макрос для извлечения части данных из книги Excel
Отправлено: Onetime от 24 июня 2024, 22:33
Один из вариантов решения вижу в этой ветке. Не уверена до конца, что будет нормально работать в моей ситуации.
https://www.planetaexcel.ru/forum/index.php?PAGE_NAME=read&FID=1&TID=143435&TITLE_SEO=143435-vba.-perenos-dannykh-iz-odnoy-tablitsy-v-druguyu-po-klyuchu
Название: Макрос для извлечения части данных из книги Excel
Отправлено: Администратор от 24 июня 2024, 22:37
В этом сообщении ведь файл сначала надо открыть, он будет открываться две минуты.
Или это не является проблемой? Главное извлечь данные?
Название: Макрос для извлечения части данных из книги Excel
Отправлено: Администратор от 24 июня 2024, 22:40
Написал вам письмо на почту. Написал именно на почту, а не на форум.