Страницы: 1
RSS
Vba на выпадающий список с множественным выбором
 
Сделал простой vba который в ячейке o3 задействует выпадающий список с множественным списком, рядом суммируется количество листов и рядом дублируются ссылки на пдф. Но возникла проблема с работой макроса, когда в выпадающем списке выбираешь значение, которое содержит “, “ то код начинает работать некорректно (в файле есть такой материал «плиты гипсовые негорючие КНАУФ-Файерборд»). Помогите доработать код.  
 
Малопонятна ВСЯ Ваша задумка. Код очень замороченный. Можете объяснить обычными словами, что в итоге должно происходить после выбора значения в вып.списке?
Может так будет достаточно?
Скрытый текст
Согласие есть продукт при полном непротивлении сторон
 
Sanja, я инженер строитель и код создавался чтобы собирать материалы для актов скрытых работ. Задумка следующая:
-все материалы вносятся в таблицу по мере поступления на обьект
-при составление актов ты через выпадающий список в ячейку о3 выбираешь нужные тебе материалы.
-в соседней ячейке код должен суммировать количество листов документов и еще в соседней ячейке он выводит ссылки на документы, чтобы быстро открыть их и распечатать.
- Если я повторно выберу материал то он должен удалить значения из списка, уменьшить количество листов и убрать ссылку на пдф
-Потом эта информация копируется в акт.количество листов в реестр и тд

Но возникла проблема. Если в выпадающем списке есть значение со знаком «, »то код не отрабатывает должным образом
 
Цитата
Mita57 написал: Если я повторно выберу материал то...
Зачем такие сложности? Может просто исключить возможность повторного выбора значения из вып.списка, сразу удалив его из списка при первом же выборе?
Согласие есть продукт при полном непротивлении сторон
 
Цитата
написал:
Зачем такие сложности?
можно и без этого. Но главное чтобы значения в соседних ячейках динамически менялись.

Цитата
написал:
Может так будет достаточно?
посмотрел ваш код. В нем почему-то нет множественного выбора. А он мне необходим  
Изменено: Mita57 - 25.04.2025 09:24:12
 
Цитата
Mita57 написал: возникла проблема с работой макроса, когда в выпадающем списке выбираешь значение, которое содержит “, “
Просто замените Ваш
Код
delimiter = ", "
на
Код
delimiter = "; "
Или запятая принципиальна? Просто она, по умолчанию, является разделителем значений в вып.списках
Согласие есть продукт при полном непротивлении сторон
 
Цитата
написал:
Или запятая принципиальна?
Я уже понял, что все проблемы в запятой. Но она принципиальна. Пока нашел решение: не ставлю пробел после нее.

Но мой внутренний перфекционист не давал покоя, поэтому и обратился к профессионалам на форум за решением
Изменено: Mita57 - 25.04.2025 09:56:25
 
Цитата
написал:
Может так будет достаточно?
мне понравился ход ваших мыслей. Немного адаптировал под себя (с помощью формул, код не трогал) вашу задумку. И мне это даже больше понравилось. Буду дальше тестить.  
 
Sanja, А можно сделать чтобы в вашем макросе в сообщении #2 ссылки когда они вставляются в чейку q3 и далее были тоже кликабельны. А то сейчас вставляется только текст
Изменено: Mita57 - 28.04.2025 12:33:44
 
Можно вставлять 'живую' гиперссылку, вместо формулы
вместо строки
Код
Cells(Target.Row, lClmn) = arr(I, 8)

вставьте такую
Код
Me.Hyperlinks.Add Anchor:=Cells(Target.Row, lClmn), Address:=arr(I, 8), TextToDisplay:=arr(I, 8)

И, кстати, в параметре TextToDisplay можно указать текст, который будет отображаться в ячейке, вместо всего этого длинного путик файлу. Например только название файла, ну или то, что Вы сами хотите там видеть. Поэкспериментируйте)
Согласие есть продукт при полном непротивлении сторон
Страницы: 1
Читают тему
Наверх