AutoFilter数组在使用更多元素时无效 VBA
创始人
2024-11-12 13:30:09
0

问题描述:当使用AutoFilter方法对数组进行筛选时,发现在数组中包含更多元素时,筛选结果无效。

解决方法:

  1. 使用AdvancedFilter方法:AdvancedFilter方法比AutoFilter方法更适用于处理大量数据。它可以直接在数组中执行筛选操作。
Sub AdvancedFilterArray()
    Dim dataArr As Variant
    Dim resultArr() As Variant
    Dim criteriaRange As Range
    Dim filterRange As Range
    
    ' 获取数据数组
    dataArr = Range("A1:A10").Value
    
    ' 设置筛选条件
    Set criteriaRange = Range("B1:B2")
    
    ' 设置筛选范围
    Set filterRange = Range("A1:A10")
    
    ' 执行筛选
    filterRange.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=criteriaRange
    
    ' 将筛选结果赋值给结果数组
    resultArr = filterRange.SpecialCells(xlCellTypeVisible).Value
    
    ' 显示结果
    Range("D1").Resize(UBound(resultArr)).Value = resultArr
End Sub
  1. 使用Excel工作表进行筛选:将数组中的数据复制到Excel工作表中,然后使用Excel的筛选功能进行筛选操作。
Sub FilterUsingWorksheet()
    Dim dataArr As Variant
    Dim resultArr() As Variant
    Dim ws As Worksheet
    Dim filterRange As Range
    
    ' 获取数据数组
    dataArr = Range("A1:A10").Value
    
    ' 创建新的工作表
    Set ws = Worksheets.Add
    
    ' 将数据数组复制到工作表中
    ws.Range("A1").Resize(UBound(dataArr)).Value = dataArr
    
    ' 设置筛选范围
    Set filterRange = ws.Range("A1:A10")
    
    ' 执行筛选
    filterRange.AutoFilter Field:=1, Criteria1:="Criteria"
    
    ' 将筛选结果赋值给结果数组
    resultArr = filterRange.SpecialCells(xlCellTypeVisible).Value
    
    ' 显示结果
    Range("D1").Resize(UBound(resultArr)).Value = resultArr
    
    ' 删除工作表
    Application.DisplayAlerts = False
    ws.Delete
    Application.DisplayAlerts = True
End Sub

这两种方法可以在处理大量数据时有效地进行筛选操作。您可以根据具体情况选择适合您的方法。

相关内容

热门资讯

最新技巧“兴动游戏辅助”从前有... 最新技巧“兴动游戏辅助”从前有开挂辅助下载(有挂教学) 了解更多开挂安装加(136704302)微信...
每日必看“wepoker到底有... 每日必看“wepoker到底有没有透视”往昔有开挂辅助挂(有挂透明挂)1、下载安装好wepoker到...
盘点一款“微乐兰州麻将小程序辅... 盘点一款“微乐兰州麻将小程序辅助”从来有开挂辅助神器(的确有挂);打开点击测试直接进入微信(1367...
盘点十款“财神破解版全自动脚本... 财神破解版全自动脚本开挂教程视频分享装挂详细步骤在当今的网络游戏中,财神破解版全自动脚本作为一种经典...
透视ai“广西友乐辅助器”从来... 透视ai“广西友乐辅助器”从来有辅助开挂平台(有挂教学);打开点击测试直接进入微信(13670430...
透视脚本“潮娱乐鱼虾蟹公式辅助... 透视脚本“潮娱乐鱼虾蟹公式辅助软件”从来有辅助工具(有挂技术);无需打开直接搜索微信(1367043...
透视肯定“山西扣点点胜率辅助器... 透视肯定“山西扣点点胜率辅助器”本然有辅助开挂脚本(有人有挂)您好:山西扣点点胜率辅助器这款游戏可以...
透视私人局“海贝之城透视辅助器... 透视私人局“海贝之城透视辅助器”先前有开挂辅助工具(有挂攻略);打开点击测试直接进入微信(13670...
查到实测辅助“wepoker挂... wepoker挂开挂教程视频分享装挂详细步骤在当今的网络游戏中,wepoker挂作为一种经典的娱乐方...
重大来袭“杭州都莱app有辅助... 重大来袭“杭州都莱app有辅助吗”从前有开挂辅助软件(竟然有挂) 了解更多开挂安装加(1367043...