Dictionaries в VBA (Серия VBA 33)

  Рет қаралды 11,920

Билял Хасенов – Excel, VBA & More

Билял Хасенов – Excel, VBA & More

Күн бұрын

Пікірлер: 33
@Silent_whisperer
@Silent_whisperer 5 ай бұрын
Тысячу лайков как поставить, хоспади, спасибо!!!!❤❤❤❤❤
@Евгений-10.11
@Евгений-10.11 3 жыл бұрын
Билял, я уже ранее писал комментарий с благодарностью за этот урок! Теперь, с ещё большим уважением говорю: СПАСИБО. С помощью Dictionaries, и только с их помощью удалось победить проблему быстрейшей обработки базы данных (таблицы из 158000 строк и 6 столбцов) для дальнейшей работы своей программы!!! Повторение - не только мать учения, но и своевременная помощь в решении разных задач!
@АрменЖидрасян
@АрменЖидрасян 2 жыл бұрын
Наконец найдены те самые стандартные массивы данных, а я как только не пытался плясать с array в VBA, но там явно не хватает возможностей. Спасибо.
@АндрейВасильевич-й9с
@АндрейВасильевич-й9с 3 жыл бұрын
Спасибо за видео!
@yflow5337
@yflow5337 Жыл бұрын
Крутейший урок, от спасибище друг! Сколько концентрированной пользы, вот это подача! И вачес почерпнул и вывод в дебаг грамотный табличкой. Ну про дикшинарис молчу вообще! Срочно, подписка, лайк. И почему раньше не подписался.
@Mr.Dava86
@Mr.Dava86 4 жыл бұрын
Билял,в каждом твоё видео,я задаюсь вопросом:А что,так можно было?!Билял,ты век живи,а мы будем учиться у тебя
@BilyalKhassenov
@BilyalKhassenov 4 жыл бұрын
Здравствуйте Довлет! Большое спасибо за Ваш комментарий! Очень рад что у своими видео у меня получается помо-гать людям 😊 Если будут какие-либо вопросы - всегда пишите, и я постараюсь на них как можно быстрее отве-тить 😊 С уважением, Билял
@SamSambl4
@SamSambl4 4 жыл бұрын
Спасибо за труд!
@alekseychaykovskiy3963
@alekseychaykovskiy3963 4 жыл бұрын
Спасибо
@Serega_Zaicev
@Serega_Zaicev 4 жыл бұрын
вот супер урок мне понравилось, конкретно на живом примере, ручки 800 , где находятса как доставать, плин ну всё разжованно что даже я понял)))))))))) спасибо!!!!
@IsHardynafthardynaft
@IsHardynafthardynaft 2 жыл бұрын
Fabulous ❤️ vidos. Thx, bro
@YanYarman
@YanYarman 3 жыл бұрын
Круто. Спасибо.
@АлинаАгодухова-ф3ь
@АлинаАгодухова-ф3ь 4 жыл бұрын
Здравствуйте ! Есть ли видео о работе vba с папками?
@ХристинаКотова-ц1с
@ХристинаКотова-ц1с 4 жыл бұрын
Доброго времени суток. Спасибо за полезный материал. 1. Жалко, что совсем все же не раскрыта тема Database.Compare - примем это за домашнее задание докопаться самостоятельно :) 2. Стоит задача отсортировать массив и убрать из него повторяющиеся значения. Если я правильно понял Ваш урок - то для отбора повторов достаточно просто по одному вносить элементы массива в Dictionary. (массово скорее всего не получится - типа Dictionary.keys = array ?) А потом обратно просто можно выгрузить ? redim array (0 to Dictionary.Count) array = Dictionary.keys 3. Имеет ли смысл для сортировки по алфавиту тоже использовать Dictionary ? Для уборки "пустых" строк ? Или в массиве лучше работать уже ? П.С. Массив готовится для листбокса с возможностью быстрого подбора подходящих значений при постепенном вводе текста. Листбокс уже работает, выводит и сортирует. Но через массивы. И 6000 значений грузятся около 3х секунд. Потеря времени как раз на отборе лишних значеней происходит - вот и ищу более быстрые пути. Плюс 6000 это пока, а там может и 60000 быть. Я так понимаю - словарь быстрее ведь, чем массив ?
@ХристинаКотова-ц1с
@ХристинаКотова-ц1с 4 жыл бұрын
Сам и отвечу. Уборка пустых и отброс "лишних" произошли автоматом при загрузке в словарь, выгрузка - без проблем. Сортировку пока оставил в массиве. Спасибо, Билял за великолепные уроки. Все летает. Единственно хотелось бы просить больше заострять внимание на то " почему в таких и таких ситуациях лучше применять словарь, в других - коллекции, в третьих - массивы".
@BilyalKhassenov
@BilyalKhassenov 4 жыл бұрын
Здравствуйте, Игорь! Извиняюсь, не успел ответить на Ваш вопрос! И большое спасибо за то, что Вы сразу поделились своими находками в этой области. Обязательно постараюсь в дальнейших видео проводить своего рода бенчмаркинг разных инструментов и подходов в VBA, как Вы и написали, например, Collection vs. Array vs. Dictionary etc. Кстати, позднее я также думал в принципе снять отдельное видео по тому, какие подходы являются самыми быстрыми для обработки больших количеств данных. Когда именно данное видео выйдет, точно сказать не могу, но обязательно сниму его! Желаю Вам оставаться здоровым в нынешней ситуации с коронавирусом, Игорь! С уважением и хорошего дня, Билял
@Евгений-10.11
@Евгений-10.11 4 жыл бұрын
Билял, безусловное браво!!! Молодчина! Так доступно, так точно, так грамотно преподнести материал и нужный, и непростой - верх мастерства!!! Спасибо! Честно говоря, придётся корректировать свои написанные программки, используя материал видеоурока: многие подходы оптимизировать!) Если несложно, прошу ответить на очередной вопрос: когда кто-то открывает файл с макросами, у него появляется сообщение о включении содержимого. Можно ли это как-то обойти?
@alekseychaykovskiy3963
@alekseychaykovskiy3963 4 жыл бұрын
Смотри в Файл - Параметры - Центр управления безопасностью - Параметры центра управления безопасности
@Евгений-10.11
@Евгений-10.11 4 жыл бұрын
Aleksey Chaykovskiy это-то понятно, спасибо)! Я имел ввиду на программном уровне при открытии документа...))
@BilyalKhassenov
@BilyalKhassenov 4 жыл бұрын
Здравствуйте, Евгений! Как всегда большое спасибо за Ваш комментарий! 😊 И опять-таки извиняюсь за задержку с ответом. К сожалению, программными путями в рамках VBA включать макросы вряд ли удастся. Можно реализовать следующее, такие своего рода обходное решение: 1) Создать рабочий лист, который будет выполнять роль загрузочного экрана. 2) На этом загрузочном экране прописать сообщение конечному пользователю файла, что для работы файла пользователь должен сперва включить макросы (можно вставить скриншот с указанием требуемой кнопки) 3) Прописать событийные процедуры рабочей книги Private Sub Workbook_Open() и Private Sub Workbook_BeforeClose(Cancel As Boolean), которые будут запускаться всегда тогда, когда пользователь открывает и закрывает рабочую книгу. 4) Private Sub Workbook_Open() будет делать все листы, кроме листа с загрузочным экраном, видимыми, а лист с загрузочным экраном скрывать 5) Private Sub Workbook_BeforeClose(Cancel As Boolean) будет делать лист с загрузочным экраном видимым, а настройку видимости всех остальных листов изменять на xlSheetVeryHidden - данная настройка может изменяться лишь посредством VBA, что заблокирует возможность ручного изменения видимости всех других листов пользователем Я решил привести короткий пример в файле, чтобы было нагляднее: drive.google.com/file/d/1eiOWI9wnzIYswsv2KYJTFltlFAYjrI4E/view?usp=sharing И обратите внимание, Евгений, что в данном макросе файл всегда перед закрытием автоматически сохраняется. В принципе можно выдумать какой-нибудь более уточнённый алгоритм определения того, должен ли файл перед закрытием быть сохранен. Но это мы можем, если что, в последующем додумать 😊 Надеюсь, мог помочь Вам 😊 С уважением и хорошего Вам дня, Билял P.S. Если хотите несколько раз протестировать появление загрузочного экрана с сообщением - то создайте копии файла с новым именем. При новом имени Excel выводит запрос с включением макросов.
@Евгений-10.11
@Евгений-10.11 4 жыл бұрын
Билял Хасенов - Excel & VBA Спасибо за чуткость и отзывчивость! Завтра протестирую!!!
@Евгений-10.11
@Евгений-10.11 4 жыл бұрын
Трюк с загрузочным экраном очень прикольный) Спасибо, Билял, применю это решение обязательно в своей деятельности!
@user-dr5mg3po7o
@user-dr5mg3po7o 2 жыл бұрын
Творческий вопрос. А как потом этот словарь сохранить для дальнейшего использования? Я создаю его из файла с таблицей, не вручную. Потом я планирую использовать это словарь в других файлах для поиска данных.
@vladimirk.5371
@vladimirk.5371 4 жыл бұрын
Bill K., спасибо. Появилось несколько вопросов: 1) Правильно ли я понимаю, что один раз добавив ключ, он навсегда будет хранится в памяти? Поясню, что имею ввиду. Есть данные 3 тыс. строк и они пополняются. При этом значения напротив ключей могут редактироваться (напр. было Иван - 10, стало Иван - 20). То есть мне нужно написать цикл, который будет пополнять мои ключи, при этом проверять уже на имеющиеся ключи? Можно ли сделать ключ по двум значениям из ячеек? Например в одной будет написано Иван, а в другой его дата рождения (Иван01.01.1990) и как упомянул выше, можно ли сделать так, чтобы если Item менялся, то значение бы его перезаписывалось?
@АкмалХудойназаров-ч1ж
@АкмалХудойназаров-ч1ж Жыл бұрын
Эххх Знал бы про это раньше сколько времени и сил сэкономил бы. приходилось заниматься садо-мазо с коллекциями. прогонят их в цикле если такой элемент ест то удалить его и заново добавить т.к. его невозможно изменить.
@virtreal4663
@virtreal4663 3 жыл бұрын
А как создать словарь содержащий другие словари?
@Serega_Zaicev
@Serega_Zaicev 4 жыл бұрын
а 3 столбца или более не получитса занести ? Key i Item я так понял только на 2 столбца работает?
@meldanify
@meldanify 2 жыл бұрын
Обещал в начале видео показать, как циклом заполнить dictionary и благополучно забыл!
@АлексейСоков-ь8и
@АлексейСоков-ь8и 3 жыл бұрын
2021
@TheShadowOfYours
@TheShadowOfYours Жыл бұрын
Я хоть и не из России и хоть путина и его банду не поддерживаю, как и многие ютуб каналы, поэтому ни на одном ай ти канале такой ереси не видел в оформлении канала. Русские тебя еще не попросили вести канал не на русском ? Было бы еще справедливее , если еще и остальные ролики переделал бы на украинский ,казахский, например ? В Казахстане надо говорить на казахском: казахи, озабоченные дерусификацией своей страны , тебя ещё не упрекали ?
@BilyalKhassenov
@BilyalKhassenov Жыл бұрын
Писать научись сперва, потом оставляй здесь комментарии. А то пишешь как ребенок с яслей.
@TheShadowOfYours
@TheShadowOfYours Жыл бұрын
@@BilyalKhassenov пару букв описки и можно у тебя стать так "ребёнком". Упрекать в том, что сам ненавидишь, это как плевать в колодец, из котрого пьёшь. 🐷
VBA Object Libraries, Early & Late Binding (Серия VBA 34)
26:50
Билял Хасенов – Excel, VBA & More
Рет қаралды 10 М.
ТЮРЕМЩИК В БОКСЕ! #shorts
00:58
HARD_MMA
Рет қаралды 2,3 МЛН
Who's spending her birthday with Harley Quinn on halloween?#Harley Quinn #joker
01:00
Harley Quinn with the Joker
Рет қаралды 27 МЛН
Мама у нас строгая
00:20
VAVAN
Рет қаралды 8 МЛН
How to use Class Modules with the VBA Dictionary
14:30
Excel Macro Mastery
Рет қаралды 52 М.
How to Use Nested Dictionaries in VBA
8:58
Excel Macro Mastery
Рет қаралды 16 М.
How to Use Arrays Instead of Ranges in Excel VBA
10:20
Excel Macro Mastery
Рет қаралды 204 М.
Работа с интернетом через VBA Excel
7:21
Ruslan Scherbakov - kursoft ru
Рет қаралды 9 М.
XLOOKUP aka ПРОСМОТРX - Эволюция ВПР! - Функции Excel (12)
16:20
Билял Хасенов – Excel, VBA & More
Рет қаралды 201 М.
VBA Advanced Filter - The FASTEST way to Copy and Filter Data
18:33
Excel Macro Mastery
Рет қаралды 285 М.
Excel VBA Dictionary: How to use the Dictionary (1/4)
7:07
Excel Macro Mastery
Рет қаралды 74 М.
ТЮРЕМЩИК В БОКСЕ! #shorts
00:58
HARD_MMA
Рет қаралды 2,3 МЛН