excel ActiveX组合框选择在选择后消失

qoefvg9y  于 2023-05-01  发布在  其他
关注(0)|答案(1)|浏览(226)

我的VBA代码工作时,成功地加载组合框与不同的列表的基础上选定的情况。但是,当我从下拉列表中选择一个选项时,该选项不会加载到组合框中。组合框变为空白。
下面是我的VBA代码:

Private Sub cbxTrainingSubject_DropButtonClick()

    cbxTrainingSubject.Clear

    Set shTables = ThisWorkbook.Sheets("Tables")
    Set shForm = ThisWorkbook.Sheets("Form")
    Dim rng As Range

    Select Case cbxTrainingArea.Value
        Case "Assembly"
            Set rng = shTables.ListObjects("assemblyTraining").ListColumns("Assembly Training").DataBodyRange
            shForm.cbxTrainingSubject.List = Application.Transpose(rng.Value)
        Case "Fabrication"
            Set rng = shTables.ListObjects("FabTraining").ListColumns("Fab Training").DataBodyRange
            shForm.cbxTrainingSubject.List = Application.Transpose(rng.Value)
    End Select

End Sub

下面是目标组合框的属性窗口:

当我进行选择时,组合框保持空白。

5cnsuln7

5cnsuln71#

更容易使用cbxTrainingArea_Change
例如:

Private Sub cbxTrainingArea_Change()
    
    Dim wsTables As Worksheet, rng As Range
    
    Set wsTables = ThisWorkbook.Sheets("Tables")
    Select Case cbxTrainingArea.Value
        Case "Assembly": Set rng = wsTables.Range("Assembly")
        Case "Fabrication": Set rng = wsTables.Range("Fabrication")
    End Select
    
    If Not rng Is Nothing Then
        cbxTrainingSubject.List = Application.Transpose(rng.Value)
    Else
        cbxTrainingSubject.Clear
    End If
    
End Sub

相关问题