Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 1907|回复: 5

[已解决]请教高手: 用VBA按行筛选列的数量大怎么解决?

[复制链接]
发表于 2016-9-2 19:44 | 显示全部楼层 |阅读模式
各位高手:
    我在网上求得一按行筛选的宏代码,非常好用,但经满负荷测试发现,从IA列以后无法按要求筛选,
我用的是excel2010,我是初学不知是程序设定问题,还是代码参数设置问题,因我需要按行筛选的
列的数量很大,恳请高手指教该如何修改代码,或其他方法。
见截图及附件   谢谢
代码如下:
Private Sub Worksheet_Change(ByVal TargetAs Range)
   If Target.Address = "$A$1" Then zz
End Sub
Sub zz()
   Application.ScreenUpdating = False
   Set d = CreateObject("Scripting.Dictionary")
   Me.UsedRange.Columns.Hidden = False
   For j = 2 To [iv3].End(xlToLeft).Column
       If Cells(3, j) <> "" Then d(Cells(3, j).Value) =""
   Next
   With Range("A1").Validation
       .Delete
       .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
           Operator:=xlBetween, Formula1:=Join(d.keys, ",")
   End With
   For j = [iv3].End(xlToLeft).Column To 3 Step -1
       If Cells(3, j) <> "" And Cells(3, j).MergeCells = TrueAnd Cells(3, j).Cells(1, 1) <> [A1] Then
           a = Cells(3, j).MergeArea.Address
           b = Split(a, "$")
           Columns(b(1) & ":" & b(3)).EntireColumn.Hidden = True
       ElseIf Cells(3, j) <> "" And Cells(3, j).MergeCells =False And Cells(3, j).Cells(1, 1) <> [A1] Then
           Columns(j).EntireColumn.Hidden = True
       End If
   Next
   Application.ScreenUpdating = True
End Sub


最佳答案
2016-9-3 08:17
工作簿.rar (78.6 KB, 下载次数: 36)
筛选截图.jpg

11111启用宏的工作簿.zip

81.45 KB, 下载次数: 8

 楼主| 发表于 2016-9-2 20:11 | 显示全部楼层
删除前边一项,后边不能筛选部分减少一项。故此判断可能是筛选有数量限制。不知到底是有数量限制,还是
代码参数设置问题,求高手指教。谢谢
回复

使用道具 举报

发表于 2016-9-2 20:24 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2016-9-2 22:56 | 显示全部楼层
zjdh 发表于 2016-9-2 20:24
你发的啥附件?

不好意思,刚装的新系统,原来的解压缩不能用,刚才新下载安装的,附件发错了,再重新发一遍,谢谢。

11111启用宏的工作簿.zip

80.58 KB, 下载次数: 13

回复

使用道具 举报

发表于 2016-9-3 08:17 | 显示全部楼层    本楼为最佳答案   
工作簿.rar (78.6 KB, 下载次数: 36)

评分

参与人数 1 +1 收起 理由
BL123123 + 1 很给力

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2016-9-3 08:48 | 显示全部楼层
zjdh 发表于 2016-9-3 08:17

感谢高手出手帮助,[JY3]   参数修改后果然正常啦,学习啦,再次感谢帮助。


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-20 15:38 , Processed in 0.409494 second(s), 15 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表