У меня есть лист Excel, в котором есть панель поиска («Dynami c поле со списком»), где пользователь может искать нужный элемент, а когда он нажимает кнопку «Добавить», он копирует элемент в столбец.
Моя проблема: после запуска макроса «add» автоматически появляется выпадающий список из поля со списком. Есть ли способ предотвратить это?
Это код, который находится на листе, где расположена строка поиска:
'''
Private Sub ComboBox1_change()
Dim sht1 As Worksheet
Set sht1 = ThisWorkbook.Worksheets("Costs")
If ThisWorkbook.ActiveSheet.Name = sht1.Name Then
ComboBox1.ListFillRange = "DropDownList"
Me.ComboBox1.DropDown
Else: Exit Sub
End If
End Sub
'''
Это код кнопки «Добавить», который копирует значение, полученное в результате поиска, и помещает его в список:
'''
Private Sub AddCost()
Application.ScreenUpdating = False
If Worksheets("DATA").Range("B2").Value <> Worksheets("DATA").Range("M2").Value Then
Worksheets("DATA").Range("B2").Copy
Worksheets("DATA").Range("F2").End(xlDown).Offset(1, 0).PasteSpecial xlPasteValues
End If
If Worksheets("Costs").Range("D8").Value = "" Then
Worksheets("DATA").Range("B2").Copy
Worksheets("Costs").Range("D8").PasteSpecial xlPasteValues
ElseIf Worksheets("Costs").Range("D8").Value <> "" Then
Worksheets("DATA").Range("B2").Copy
NextFree = Range("D8:D10000").Cells.SpecialCells(xlCellTypeBlanks).Row
Range("D" & NextFree).PasteSpecial xlPasteValues
Selection.PasteSpecial xlPasteValues
Else:
End If
'Declare a sheet variable to hold the target sheet
Dim ws As Worksheet
'Set the worksheet as required
Set ws = ActiveSheet
ws.OLEObjects("ComboBox1").Object.Value = ""
Application.ScreenUpdating = True
Application.CutCopyMode = False
End Sub
'''
Любая помощь или предложение, чтобы предотвратить эту проблему, или лучшие способы Дизайн всей ситуации приветствуется.