Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

20 Июнь 2019, 22:54 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Вы можете задать вопрос по LibreOffice или Apache OpenOffice  без регистрации, используя форму
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: « 1 2 3 4 5 »   Вниз
  Печать  
Автор Тема: мультивыбор в выпадающем списке  (Прочитано 4112 раз)
0 Пользователей и 1 Гость смотрят эту тему.
alpold
Форумчанин
***
Offline Offline

Сообщений: 103


« Ответ #15: 19 Декабрь 2018, 12:53 »

Так задай правильно адреса нужных ячеек.

Для столбца N поменяй в    
Код:
If (oEvent.RangeAddress.StartColumn = 2) And
  2 на 13
Ну и ниже нужно для строк отредактировать.

Спасибо!!! по строкам как раз таки менял..а вот столбец нет

а можно както сделать чтобы он чтото добавлял через запятую а чтото без ?
Записан
Bigor
Опытный пользователь
***
Offline Offline

Пол: Мужской
Сообщений: 610


« Ответ #16: 20 Декабрь 2018, 17:52 »

сделать то можно, только надо знать после чего ее не надо ставить, точнее перед чем
Записан
alpold
Форумчанин
***
Offline Offline

Сообщений: 103


« Ответ #17: 20 Декабрь 2018, 17:56 »

сделать то можно, только надо знать после чего ее не надо ставить, точнее перед чем
перед OD и OS и OU
Записан
Bigor
Опытный пользователь
***
Offline Offline

Пол: Мужской
Сообщений: 610


« Ответ #18: 20 Декабрь 2018, 18:52 »

перед OD и OS и OU
, если это единственные "слова" на букву O, то можно как в приложенном файле. Иначе условие
Код:
if left(newVal,1,1)="O"
надо будет расширять

* export_ЭИБ _2_2.ods (35.56 Кб - загружено 3 раз.)
Записан
alpold
Форумчанин
***
Offline Offline

Сообщений: 103


« Ответ #19: 21 Декабрь 2018, 01:49 »

перед OD и OS и OU
, если это единственные "слова" на букву O, то можно как в приложенном файле. Иначе условие
Код:
if left(newVal,1,1)="O"
надо будет расширять

единственные на английскую O
Записан
alpold
Форумчанин
***
Offline Offline

Сообщений: 103


« Ответ #20: 21 Декабрь 2018, 12:52 »

перед OD и OS и OU
, если это единственные "слова" на букву O, то можно как в приложенном файле. Иначе условие
Код:
if left(newVal,1,1)="O"
надо будет расширять

спасибо! еще вопрос. А если я хочу несколько разных мультидропов организовать на странице? как это сделать?? макросы же вписываются в событие листа а если у меня другой мультидроп в этом же листе?
Записан
Bigor
Опытный пользователь
***
Offline Offline

Пол: Мужской
Сообщений: 610


« Ответ #21: 21 Декабрь 2018, 12:59 »

В макросах идет проверка для каких ячеек будет работать, я думаю можно и несколько сделать
Записан
alpold
Форумчанин
***
Offline Offline

Сообщений: 103


« Ответ #22: 21 Декабрь 2018, 13:18 »

В макросах идет проверка для каких ячеек будет работать, я думаю можно и несколько сделать
суть не в том чтобы указать только другие ячейки но и другой тип совмещения. В другом месте мне требуется не через запятую а через "-" их обьеденять
Записан
Bigor
Опытный пользователь
***
Offline Offline

Пол: Мужской
Сообщений: 610


« Ответ #23: 21 Декабрь 2018, 13:50 »

через "-" их обьеденять
можно и так
Записан
alpold
Форумчанин
***
Offline Offline

Сообщений: 103


« Ответ #24: 21 Декабрь 2018, 14:24 »

через "-" их обьеденять
можно и так

что нужно в макрос добавить?
Записан
alpold
Форумчанин
***
Offline Offline

Сообщений: 103


« Ответ #25: 21 Декабрь 2018, 14:32 »

через "-" их обьеденять
можно и так

или хотябы каким образом новый диапозон добавлять ячеек ?
Записан
Bigor
Опытный пользователь
***
Offline Offline

Пол: Мужской
Сообщений: 610


« Ответ #26: 21 Декабрь 2018, 15:59 »

Если прямо в лоб, то примерно так. Если подумать, то можно пооптимизировать

* export_ЭИБ _2_3.ods (36.41 Кб - загружено 5 раз.)
Записан
alpold
Форумчанин
***
Offline Offline

Сообщений: 103


« Ответ #27: 21 Декабрь 2018, 18:06 »

Если прямо в лоб, то примерно так. Если подумать, то можно пооптимизировать

Код:
If (oEvent.RangeAddress.StartColumn = 19) And _
    (oEvent.RangeAddress.StartRow > 0) And _
    (oEvent.RangeAddress.StartRow < 50) Then ' В диапазоне "T2:T50"?
        newVal = oEvent.getString()
        If Not isEmpty(oldValues) Then oldVal = oldValues(oEvent.RangeAddress.StartRow-1)(0)
        razd="-"
        If Len(oldVal) <> 0 And oldVal <> newVal Then
            If left(newVal,1,1)="O" Then razd="-"          
            oEvent.setString(oldVal & razd & newVal)            
        End If
        If Len(newVal) = 0 Then oEvent.ClearContents(7)
        on_ChangeSelection(oEvent)
    End If


Че поменять чтобы он после OD OS и OU ставил запятую?
Записан
Bigor
Опытный пользователь
***
Offline Offline

Пол: Мужской
Сообщений: 610


« Ответ #28: 21 Декабрь 2018, 19:43 »

If left(newVal,1,1)="O" Then newval=newval&"," попробуй так
Записан
alpold
Форумчанин
***
Offline Offline

Сообщений: 103


« Ответ #29: 22 Декабрь 2018, 04:50 »

If left(newVal,1,1)="O" Then newval=newval&","
а как сделать проверку того , чтобы не всегда он запятую ставил а только тогда когда дальше идет текст.
Записан
Страниц: « 1 2 3 4 5 »   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!