Почему выбор списка не работает, когда вызывается событие AfterUpdate () в выпадающем списке? - PullRequest
0 голосов
/ 04 декабря 2018

Всякий раз, когда я нажимаю на раскрывающуюся кнопку другого поля со списком из текущего поля со списком и выбираю элемент из раскрывающегося списка, поле со списком будет пустым, и мне придется повторно щелкнуть раскрывающийся список и выбрать элемент, чтобыполучить значение в поле со списком.

Однако, когда я сначала щелкаю по полю со списком, а затем по раскрывающемуся списку этого поля со списком, выбор элемента из списка немедленно помещает значение выбранного элемента в поле со списком.

Код поля со списком показан ниже:

Private Sub cbxSupplier_AfterUpdate()
Dim Supplier_col As Long

ThisWorkbook.Worksheets("List_Box").ListObjects("tblFoilInfoHelper").DataBodyRange.ClearContents
Set filteredRangeFoilProfile = Nothing
lbxFoilInfoDisplay.RowSource = vbNullString
Supplier_col = ThisWorkbook.Worksheets("Foil Profile").ListObjects("tblFoilProfile").ListColumns("SUPPLIER").Index

If Len(Trim(cbxSupplier)) = 0 Then
    filterRangeFoilProfile.AutoFilter Field:=Supplier_col
Else
    filterRangeFoilProfile.AutoFilter Field:=Supplier_col, Criteria1:=cbxSupplier.Text
End If

On Error Resume Next
Set filteredRangeFoilProfile = Intersect(filterRangeFoilProfile, filterRangeFoilProfile.Offset(1, 0)).SpecialCells(xlCellTypeVisible)
On Error GoTo 0

If Not filteredRangeFoilProfile Is Nothing Then
    ThisWorkbook.Worksheets("Foil Profile").ListObjects("tblFoilProfile").DataBodyRange.SpecialCells(xlCellTypeVisible).Copy
    ThisWorkbook.Worksheets("List_Box").Cells(2, 1).PasteSpecial
    lbxFoilInfoDisplay.RowSource = "List_Box!A2:" & Col_Letter(TotalColumnsCount("Foil Purchases.xlsm", "List_Box")) & TotalRowsCount("Foil Purchases.xlsm", "List_Box", "tblFoilInfoHelper")
    Call Dynamic_cbx
End If

End Sub

Я считаю, что модуль Call Dynamic_cbx не является причиной этого, потому что я его закомментировал, и проблема остается той же.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...