Страницы: 1
RSS
Помогите строит форму с выпадающим списком VBA, адрес с административно-территориальным делением и с улицей
 
Я полный чайник по VBA, но для решение моей задачи нужен VBA.
Итак, имеется список городов, округов, районов в примере Москвы

С помощью пользовательской формой хотел решить их правильное последовательность

Чтобы в конечном результате в определенном ячейке сформулировались адрес на основе выбранных данных из выпадающей списки.
При этом важно чтобы каждый выпадающий список будут связан предыдущим и конечно с возможностью не только выбора из выпадающего списка, но и вводом новых данных, например, страна не Российская Федерация, а Франция, тогда последующие выпадающие списки будут пустым и будут выполнят роль поля ввода. Прилагаю файл примера Административное деление.xlsm (20.28 КБ)
Спасибо заранее.
 
Советы с оптимальными подходами по этой тематике также приветствуется.  
 
Я думаю такая постановка вопроса для раздела Работа, т.е. помощь на платной основе.
Т.к. если
Цитата
для решение задачи нужен VBA
а Вы
Цитата
полный чайник по VBA
то что мешает начать его (VBA) изучать? И задавать здесь КОНКРЕТНЫЕ вопросы
Согласие есть продукт при полном непротивлении сторон
 
Цитата
boeing757 написал: Советы
достаточно просто делать с помощью словарей.
 
Полностью согласен с Sanja, т.к. создание такой формы - дело не пяти минут. Но могу бесплатно поделиться бесплатными советами
Цитата
с оптимальными подходами по этой тематике
т.к. не так давно сам делал похожую форму:


1. В таком справочнике следует отказаться от "ввода новых данных" - существует понятие Эталонный справочник и его нужно просто загрузить. Иначе пользователь сможет вводить любые адреса без проверки на корректность. Для Ваших целей подойдёт можно использовать КЛАДР (Классификатор Адресов Российской Федерации) - его можно бесплатно скачать с сайта налоговой или пенсионного фонда (он используется в их программных продуктах). Фактически КЛАДР - это набор .dbf файлов которые легко загрузить в Excel. Вот единственное что не знаю - есть ли там деление на внутригородские округа, но точность адреса - до номера дома, т.е. можно проверять реально ли существует этот номер дома.
2. Ваша картинка с примером справочника не выдерживает никакой критики: Вы только представьте себе сколько раз у Вас будут повторяться слова "Российская Федерация", "Москва" и т.д. А если учесть что например улица Ленина есть почти в каждом населённом пункте... Кстати на моей картинке видно сколько раз повторяется название даже не улицы, а населённого пункта "Красная Поляна" (и то что видно на экране это не весь список). Поэтому хранить данные нужно по аналогии с КЛАДРом - отдельный справочник населённых пунктов, отдельный - улиц и т.п. в которых названиям присваиваются идентификаторы и именно на них есть ссылки в самих справочниках и по ним вытаскивается реальное наименование программой.
3. Справочники глупо хранить в самом рабочем эксельном файле - будет запредельный объём и существенное торможение при открытии, сохранении и т.п. Их нужно хранить отдельно, если использовать КЛАДР, можно просто при необходимости открывать нужные файлы и выбирать данные. Но лучше создать специальную базу на основе любой СУБД. Я использую бесплатный Firebird и из его БД данные без проблем выбираются екселем. Кстати справочник Объектов почтовой связи содержит немногим больше 40 тысяч записей и базе занимает около 11 МБ.
Не стреляйте в тапера - он играет как может.
Страницы: 1
Наверх