Коллеги, подскажите пожалуйста, сделала по примеру выпадающий список с накоплением.
Если поочередно выбирать данные выпадающем списке, то они через точку с запятой перечисляются в ячейке.
А как прописать так, если выбираешь то значение которое уже есть в ячейке, то оно из ячейки удаляется.
То есть если ты выбираешь то значение, которое было выбрано раньше, то оно удаляется из ячейки.
Пример во вложении. Макрос на Лист2 (Лист1), лист самый первый. желтым выделена ячейка для примера.
Если поочередно выбирать данные выпадающем списке, то они через точку с запятой перечисляются в ячейке.
А как прописать так, если выбираешь то значение которое уже есть в ячейке, то оно из ячейки удаляется.
То есть если ты выбираешь то значение, которое было выбрано раньше, то оно удаляется из ячейки.
Код |
---|
Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next If Not Intersect(Target, Range("C15:C18")) 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 |