Обработка строки выпадающего списка.

Автор bigor, 27 июня 2018, 12:18

0 Пользователи и 1 гость просматривают эту тему.

bigor

Всем добрый день.

Подскажите можно ли сделать такое:
В ячейку с3 нужно через выпадающий список вставить индекс,
На листе2 соответствие населенных пунктов и индексов.
Хотелось бы, что бы в окне выбора отображалось наименование населенного пункта, а в ячейку подставлялся индекс.
На лист1 нельзя добавлять  столбцы. (файл потом грузится в стороннюю прогу, которая на все лишнее ругается)
Соответствие населенных пунктов и индексов можно сформировать в одной ячейке через любой разделитель.
Поддержать разработчиков LibreOffice можно можно тут, а наш форум вот тут

economist

Если на Лист1 нельзя добавлять столбец, значит это можно сделать на Лист2 или Лист3, а потом скопировать. На тех же листах можно выбирать в списке "Петрово;123456", а на Лист1 отображать 2-ю часть, т.е. "123456", даже без копирования, обычной формулой.    
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...

bigor

#2
Цитата: economist от 27 июня 2018, 10:32значит это можно сделать на Лист2 или Лист3
, можно. Но это лишние движения для оператора перейти на листN, выбрать, вернуться на лист1 проверить.

Есть более удобный вариант - заполнить наименованиями, а потом макросом заменить их на индексы.
Но все -таки интересно, можно ли обойтись без макросов и прыжков по листам?
Поддержать разработчиков LibreOffice можно можно тут, а наш форум вот тут

bigor

Развивая идею о другом листе, появилось решение все заполнять на листе3, а потом отобразить на лист1.
Так что остался только спортивный интерес :) Можно сделать на одном листе без макросов или нет?
Поддержать разработчиков LibreOffice можно можно тут, а наш форум вот тут

rami

Цитата: Bigor от 27 июня 2018, 10:18На лист1 нельзя добавлять  столбцы.
А одну ячейку добавить можно? В смысле, на первом листе есть ячейка по близости от C3, которую можно использовать без ругни сторонней проги?

bigor

Цитата: rami от 27 июня 2018, 11:37А одну ячейку добавить можно?
- нельзя.
Прога для меня "черный ящик", но методом проб выяснил, что ей нужен определенный перечень столбцов, с которыми она работает, если встречает что-то еще то вываливается в ошибку
Поддержать разработчиков LibreOffice можно можно тут, а наш форум вот тут

economist

Чтобы у оператора не было лишних движений - можно показывать ему только Лист3. А загружаться будет Лист1.

Нужное на Лист1 можно копировать макросом (при закрытии, напр.) или формулой вида =Лист3.A1

Но нужно учесть, что если загрузка в черный ящик идет через OLE/COM, то там, при бестолковой организации,  могут "всосаться" не значения, а сами формулы. 

Ну и стоит подумать  как избежать типичной ошибки "датого оператора", когда вводят 5.8 вместо 5,8 и в программу загружается почему-то число 43317
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...