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

Excel VBA筛选数据无法完整导入用户表单列表问题求助

问题与解决方案:筛选Excel表格数据导入用户表单列表

需求:根据Excel自定义表格(ListObject)第2列的状态值筛选项目——状态为active对应值a,非active对应值n,需将筛选后的第1列项目名称导入用户表单列表。

问题:编写VBA代码完成筛选后,Excel界面内的筛选结果显示正常,但通过SpecialCells(xlCellTypeVisible)方法仅能将部分数据导入用户表单列表。

解决方法:通过遍历单元格并将可见行数据存入数组的方式解决问题,以下是原问题代码及解决方案代码:

原问题代码

Worksheets("list").ListObjects("projects").AutoFilter.ShowAllData
hide_blank_cells_projekti


If active= True And not_active = True Then
        
            Worksheets("list").ListObjects("projects").ListColumns(2).DataBodyRange.AutoFilter _
            Field:=2, Criteria1:="a", Operator:=xlOr, Criteria2:="n", Operator:=xlFilterValues

ElseIf active= True And not_active = False Then

            Worksheets("list").ListObjects("projects").ListColumns(2).DataBodyRange.AutoFilter _
            Field:=2, Criteria1:="a", Criteria2:="A", Operator:=xlFilterValues

ElseIf active= False And not_active = True Then

            Worksheets("list").ListObjects("projects").ListColumns(2).DataBodyRange.AutoFilter _
            Field:=2, Criteria1:="n", Criteria2:="N", Operator:=xlFilterValues

ElseIf active = False And not_active = False Then

            Worksheets("list").ListObjects("projects").ListColumns(2).DataBodyRange.AutoFilter _
            Field:=2, Criteria1:="<>n", Operator:=xlAnd, Criteria2:="<>a", Operator:=xlFilterValues

End If

'    ClearBlankCellsInColumn
project_list.List = Worksheets("list").ListObjects("projects").DataBodyRange.Columns(1).SpecialCells(xlCellTypeVisible).Value

解决方案代码

Dim cell As Range
Dim projects_array() As Variant

i = 0
ReDim projects_array(i)

For Each cell In Worksheets("list").ListObjects("projects").ListColumns(1).DataBodyRange
    If Not cell.EntireRow.Hidden Then
        projects_array(i) = cell.Value
        i = i + 1
    End If
    ReDim Preserve projects_array(i)
Next cell

ReDim Preserve projects_array(UBound(projects_array) - 1)
project_list.List = projects_array

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 15:52:42