You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

修正ComboBox Change事件代码实现ListBox显示全部匹配数据

问题:级联ComboBox筛选后ListBox无法显示全部符合条件的记录

背景

此前的级联ComboBox联动逻辑运行正常,但最后一个ComboBox的Change事件触发后,ListBox1仅能显示一行符合条件的数据,无法展示所有匹配结果。

原始数据

Col.ACol.BCol.GCol.JCol.L
YEARNAMECOLORMONTHSHAPE
2023LINAGREENAUGUSTHEART
2023LINAGREENSEPTEMBERCIRCLE
2024GARYGREENSEPTEMBERDIAMOND
2024GARYGREENSEPTEMBERRECTANGLE
2024GARYREDAUGUSTOVAL
2023GARYREDAUGUSTRECTANGLE
2023GARYGREENAUGUSTSQUARE
2024GARYGREENSEPTEMBERSTAR
2024TOMREDAUGUSTHEART
2024TOMREDSEPTEMBERCIRCLE
2024TOMREDSEPTEMBERDIAMOND
2024TOMYELLOWSEPTEMBEROVAL
2024TOMYELLOWOCTOBERRECTANGLE
2024TOMYELLOWOCTOBERCIRCLE
2024TOMYELLOWOCTOBERSQUARE
2024TOMYELLOWOCTOBERSTAR
2024TOMYELLOWOCTOBERSTAR
2024TOMBLUEOCTOBERSQUARE

原始数据截图:
原始数据截图

当前使用的Change事件代码

Private Sub ComboBox4_Change()
    If Not ComboBox4.Value = "" Then
        Dim ws As Worksheet
        Dim rcell As Range, Key
        Dim arrData, arrList(), i As Long, j As Long
        Set ws = Worksheets("Sheet1")
        arrData = ws.Range("A1:L" & ws.Cells(Rows.count, "B").End(xlUp).Row)
        ReDim arrList(1 To 2, 1 To UBound(arrData, 2))
        For j = 1 To UBound(arrData, 2)
            arrList(1, j) = arrData(1, j)
        Next
        For i = 2 To UBound(arrData)
            If arrData(i, 2) = ComboBox1.Value And arrData(i, 1) = CStr(ComboBox2.Value) _
                And arrData(i, 7) = ComboBox3.Value And arrData(i, 10) = ComboBox4.Value Then
                For j = 1 To UBound(arrData, 2)
                    arrList(2, j) = arrData(i, j)
                Next
                Exit For
            End If
        
        Next
        With Me.ListBox1
            .ColumnHeads = False
            .ColumnWidths = "35,35,0,0,0,0,40,0,0,50,0,50"
            .ColumnCount = UBound(arrData, 2)
            .List = arrList
        End With
    End If
End Sub

问题现象

选择2024年、Tom、Yellow颜色、October月份时,ListBox1仅返回一行数据,但实际Sheet1中有多条符合条件的记录(允许Shape重复)。

当前输出截图:
ListBox仅显示一行数据

期望输出(手动筛选Sheet1后的结果):
期望输出

求助

需要修改Change事件中的哪部分代码才能让ListBox1显示所有符合条件的记录?


内容的提问来源于stack exchange,提问作者Shiela

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 01:00:38