|
0 / 0 / 0
Регистрация: 01.08.2013
Сообщений: 15
|
||||||
Оптимизация простого макроса поиска и выборки01.08.2013, 17:42. Показов 3854. Ответов 31
Метки нет (Все метки)
Здравствуйте уважаемые форумчане.
Помогите мне пожалуйста оптимизировать макрос поиска. Не кидайте тапками, это мой второй в жизни макрос после "Hello World" . Макрос выбирает с общего клиент-банка(excel), только строки платежей клиентов одного филиала, ориентируясь на столбец в клиент-банке с кодом предприятия (в качестве ID), сравнивает с таблицей истинности на другом листе, И добавляет на третий лист отсортированный список. Макрос работает, но, очень медленно.
подкрепил файлик для наглядности. Помогите пожалуйста, начинающему коллеге.
0
|
||||||
| 01.08.2013, 17:42 | |
|
Ответы с готовыми решениями:
31
Создание макроса выборки из таблицы оптимизация выборки Оптимизация запросов выборки |
| 02.08.2013, 17:51 | |
|
1
|
|
|
0 / 0 / 0
Регистрация: 01.08.2013
Сообщений: 15
|
||
| 02.08.2013, 18:01 [ТС] | ||
|
Спасибо за совет, теперь просто буду молчать. П.С. У нас инициатива имеет инициатора, про это забывать нельзя.
0
|
||
|
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
|
|
| 02.08.2013, 18:11 | |
|
Да, тут нужно тонко подходить...
С одной строны, так может быть можно продвинуться, увеличить статус/зарплату. А с другой стороны (особенно если двигаться некуда, а начальство жадное) - могут навалить ещё работы на освободившееся время, а техподдержка всего этого творчества тоже будет на Вас. Например написали десяток скриптов (да хоть и 5, но ключевых) - если раз в месяц что-то где-то меняется, значит раз в месяц будете бесплатно эти скрипты править ![]() Добавлено через 3 минуты Особенно классно, когда эти скрипты облегчают работу не Вам, а кому-то с зарплатой чуть повыше... Который сам в этом вообще ни в зуб...
1
|
|
|
0 / 0 / 0
Регистрация: 01.08.2013
Сообщений: 15
|
|
| 02.08.2013, 18:21 [ТС] | |
|
Ув. Hugo121 с моим уровнем владения VBA, мне тяжеловато сопоставить мой первичный макрос, с Вашим апдейтом, и провести аналогии, извлечь для себя новые приёмы. В Вашем варианте для меня присуцтвуют много неясных моментов. Покоментируйте пожалуйста подробнее Ваш вариант.
Просто вкратце что каждая строка делает, мне это здорово поможет.
0
|
|
|
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
|
||||||
| 02.08.2013, 22:32 | ||||||
Сообщение было отмечено как решение
Решение
Позже, работа заканчивается.
Но фильтра там нет - не люблю фильтр... ![]() Добавлено через 4 часа 3 минуты Вот, всё расписал, кое-что добавил (форматы):
1
|
||||||
|
0 / 0 / 0
Регистрация: 01.08.2013
Сообщений: 15
|
||
| 03.08.2013, 15:31 [ТС] | ||
, скрипт прямо формы обретает, чувствую себя всемогущим программистом, теперь вижу что почитать нужно
0
|
||
|
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
|
|||||||||||
| 03.08.2013, 15:49 | |||||||||||
|
Заметил неточность - вместо
А так всё под размер массива - выше я уже исправил, тут забыл
1
|
|||||||||||
|
0 / 0 / 0
Регистрация: 01.08.2013
Сообщений: 15
|
|
| 05.08.2013, 15:43 [ТС] | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 01.08.2013
Сообщений: 15
|
|
| 15.08.2013, 14:15 [ТС] | |
|
Hugo121 поработав над кодом, я слегка его адаптировал под моих пользователей, но есть один момент который мне не поддался. Не получилось что-бы на лист "Банк Хмельницкий" название организации импортировалось не от колонки "V"(имя организации) в листе Банк, а с таблицы истинности(БД_полезешь-руки повыдерну) первая колонка.
0
|
|
|
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
|
||||||
| 15.08.2013, 16:09 | ||||||
|
Это чуть сложнее - это название в той версии кода вообще не фигурировало.
Значит делаем так - массив a() чуть пошире, чтоб и название было, запоминаем в словаре не только код, но и название (в Item), после заполнения в цикле строки массива заменяем уже заполненное название названием из словаря. Можно конечно бить цикл на две части - For ii = 1 To 16 и For ii = 18 To UBound(b, 2) но проще b(ind, 17) = .Item(a(i, 23))
Там какая-то чехарда с форматами - сперва я закопипастил .[h2].Resize(ind, 4).NumberFormat = "#*###*##0.00" теперь у меня это генерит мусор, сделал так: .[h2].Resize(ind, 4).NumberFormat = "# ### ##0.00" Может потому, что звёздочки были в русском 2007 Экселе, а пробелы нужны в английском 2003? Некая лёгкая несовместимость продуктов... Ну это в данном случае мелочь, исправьте по вкусу
2
|
||||||
|
0 / 0 / 0
Регистрация: 01.08.2013
Сообщений: 15
|
||||||||||||||||
| 15.08.2013, 16:52 [ТС] | ||||||||||||||||
|
Ах ну конечно же, как я был близок, я эту строку не поменял,
А на счёт
П.С. Я использую Excel 2003 SP3. русский
0
|
||||||||||||||||
|
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
|
|
| 15.08.2013, 17:04 | |
|
Я эти форматы дома записывал рекордером - включил, посмотрел что там у Вас за формат, симитировал изменение, остановил запись.
Откуда взялись звёздочки - не знаю, может дома так было, может форум добавил...
1
|
|
| 15.08.2013, 17:04 | |
|
Оптимизация скорости выборки в массивах Оптимизация выборки по двум периодам Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман.
Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
|