Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Макрос выпадающего списка - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Макрос выпадающего списка (Формулы/Formulas)
Макрос выпадающего списка
fayfermn Дата: Среда, 27.07.2022, 12:23 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 1
Репутация: 0 ±
Замечаний: 20% ±

Всем доброго времени суток.

Есть следующая загвоздка.
Есть макрос реализующий возможность вносить в ячейку несколько значений из выпадающего списка.
при попытке отредактировать целевые ячейки с выпадающим списком. Получается ситуация, если например, при выборе значений выбрал одно ошибочно, нужно полностью очищать ячейку от данных через DEL. Если пытаюсь скорректировать, удаляя ненужное значение через Backspace, начинает дублировать значение.

Как скорректировать, чтобы ячейки редактировались и макрос не дублировал , при повторном выборе, значения из выпадающих списков в целевых ячейках?

[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Not Intersect(Target, Range("L:L")) Is Nothing And Target.Cells.Count = 1 Then
Application.EnableEvents = False
newVal = Target
Application.Undo
oldval = Target
If Len(oldval) <> 0 And oldval <> newVal Then
Target = Target & ";" & newVal
Else
Target = newVal
End If
If Len(newVal) = 0 Then Target.ClearContents
Application.EnableEvents = True
End If
End Sub
[/vba]


Сообщение отредактировал Serge_007 - Среда, 27.07.2022, 12:36
 
Ответить
СообщениеВсем доброго времени суток.

Есть следующая загвоздка.
Есть макрос реализующий возможность вносить в ячейку несколько значений из выпадающего списка.
при попытке отредактировать целевые ячейки с выпадающим списком. Получается ситуация, если например, при выборе значений выбрал одно ошибочно, нужно полностью очищать ячейку от данных через DEL. Если пытаюсь скорректировать, удаляя ненужное значение через Backspace, начинает дублировать значение.

Как скорректировать, чтобы ячейки редактировались и макрос не дублировал , при повторном выборе, значения из выпадающих списков в целевых ячейках?

[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Not Intersect(Target, Range("L:L")) Is Nothing And Target.Cells.Count = 1 Then
Application.EnableEvents = False
newVal = Target
Application.Undo
oldval = Target
If Len(oldval) <> 0 And oldval <> newVal Then
Target = Target & ";" & newVal
Else
Target = newVal
End If
If Len(newVal) = 0 Then Target.ClearContents
Application.EnableEvents = True
End If
End Sub
[/vba]

Автор - fayfermn
Дата добавления - 27.07.2022 в 12:23
Nic70y Дата: Четверг, 28.07.2022, 07:51 | Сообщение № 2
Группа: Друзья
Ранг: Экселист
Сообщений: 7646
Репутация: 1827 ±
Замечаний: 0% ±

Excel 2010
даблклик по ячейке + юзерформа
К сообщению приложен файл: 0321500.xlsm(17.2 Kb)


ЮMoney 41001841029809
 
Ответить
Сообщениедаблклик по ячейке + юзерформа

Автор - Nic70y
Дата добавления - 28.07.2022 в 07:51
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Макрос выпадающего списка (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2022 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!