спасибо
Динамический список, VBA
Динамический список, VBA
23.10.2015 09:47:15
|
|
|
Динамический список, VBA
Динамический список, VBA
Динамический список, VBA
22.10.2015 10:38:29
в первом листе "Справочники" в колонке E1 указаны через запятую ID-ки списочных свойств которые должны поддерживать возможность множественного выбора, доделать с учётом этой колонки макрос не проблема... чтобы событие изменения на листе в первую очередь ориентировалось на колонки к которым прикреплены именованные диапазоны, по колонке из первой ячейки точно также определяется ID_СВОЙСТВА и если этот ID присутствует в массиве построенном на основании ячейки E1 то мы его отрабатываем... автоматизацию я вижу как-то так... возможно я не прав... создаётся персональный макрос... который соответственно проверяет текущую рабочую книгу, а может быть и даже и все открытые в цикле... для каждой книги он проверяет название 1-го листа этой книги и если оно равно СПРАВОЧНИКИ запускает для этой книги процедуру инициализации именованных диапазонов... вот только я не совсем понимаю как для каждой рабочей книги вкрячить в этом случае в код книги, макрос отслеживания событий при изменении чего-нить на листах если можно хотелось бы получить пошаговые инструкции, по созданию персонального макроса и что с ним дальше делать |
|
|
Динамический список, VBA
Динамический список, VBA
21.10.2015 15:10:12
также если можно поясните, не совсем понял, как обойти проблему Безопасности с макросами... сейчас я соответственно сделал её самого низкого уровня, что наверное не очень хорошо
Изменено: |
|
|
Динамический список, VBA
21.10.2015 12:44:08
как я понимаю в моём случае можно для отслеживания изменений на каждом листе делать как-то так
Оформление кода - кнопка <...> [МОДЕРАТОР]
Изменено: |
|||
|
Динамический список, VBA
21.10.2015 12:27:03
наверное нет... хотелось бы обойтись без дополнительных столбцов... как я понимаю список с возможностью множественного выбора реализуется с помощью создания макроса для каждого листа который отслеживает события типа onCange, извините если я оперирую терминологией javascript, если листов много, а первый технологический, возможно ли создать событие для всей книги?
|
|
|
Динамический список, VBA
21.10.2015 11:54:11
не совсем понимаю что в п1 понимается под НАДСТРОЙКА
по п2 имел ввиду список с возможность множественного выбора, чтобы можно было бы добавлять варианты через запятую... что-то подобное как тут в |
|
|
Динамический список, VBA
21.10.2015 11:14:31
листов кроме технологического будет по большей части не один... но это не проблема, как я полагаю нужно кусок который работает с листом Set CurrentSheet = Sheets("First Class") переделать в цикл, чтобы пробегаться по всем листам рабочей книги и делать то же самое что и для него... вопросов требующих пояснения два: 1. Сейчас в коде для 1-го листа прописан макрос для кнопки, который вызывает по сути дела инициализацию всех именованных диапазонов, т.к. файлов которые нужно будет обрабатывать будет достаточно много, то наверное как я понимаю, возможно и не правильно, поправьте меня, необходимо создать "персональный макрос" который будет делать что-то такое для текущей workbook, проверять название первого листа у текущей workbook и если это название = 'Справочники' делать тоже самое что делает сейчас кнопка в листе 'Справочники', в этом случае естественно создастся как я понимаю автоматом Personal.xls 2. В листе 'Справочники' хотелось бы сделать небольшую доработку, а именно например в колонках E и F создать строки 108 0 32 1 777 0 где колонка E это ID_СВОЙСТВА а колонка F это флаг, говорящий макросу как должно использоваться это свойство как простой список или же мультисписок, т.е. 0 это обычный список, а 1 это мультисписок... возможно ли это при использовании именованных диапазонов? |
|
|
Динамический список, VBA
Динамический список, VBA
20.10.2015 10:18:57
однако я же написал, что файл(ы) создаваемый он динамический и соотвественно в первом листе свойств типа список с их потенциальными значениями может быть достаточно большое количество, создание этих именованых диапазонов как я понимаю это некая предварительная ручная работа, чего хотелось бы избежать, всё что хотелось бы это только сказать тому кто будет с этими файлами работать... выдели ячейки такие-то такие-то... далее Данные -> Проверка -> Тип Данных=Список с источником таким-то таким-то... а в ф-ция которая получит на вход ячейку, определит её код... например D4, значит нужно обратиться к ячейке D1, получить её значение
или что наверное ещё лучше при открытии файла... макрос должен пробежаться по данным листа с названием Справочники, и сформировать ассоциативный массив в памяти, чтобы ф-ция каждый раз не томагочила данные ячеек 1-го листа а обращалась к памяти |
||
|
Динамический список, VBA
Динамический список, VBA
20.10.2015 09:19:21
Добрый день всем, никогда не писал макросы, а поиск в интернете не помог, поэтому спрашиваю. Есть файл excel, динамически сформированный из базы данных, первый лист этого файла содержит справочники, с разными данными, которые представлены в формате ID_ЭЛЕМЕНТА ID_СВОЙСТВА НАЗВАНИЕ_ЭЛЕМЕНТА, например для страны...
теперь собственно вопрос, можно ли в качестве источника указать некую рукописную ф-цию, параметром которой будет та ячейка по которой производится клик? как должен выглядеть в этом случае код? =INIT_LIST() почему-то не работает далее логика планируется такая, по адресу полученной ячейки, вычисляется верхняя ячейка этой колонки, из её названия определяется ID_СВОЙСТВА, и собственно показывается список... как я понимаю опять же с помощью макроса можно предварительно обработав технологический список и создать в памяти массивы, дабы в вышеуказанной ф-ции уже сразу не проходиться каждый раз по всем ячейкам листа1, а сразу получать список из массива если то что я хочу не возможно, в силу моей некомпетентности в данном вопросе, буду рад любым идеям заранее всем спасибо
Изменено: |
||||||||||||||||||||||
|