各位高手: 我在网上求得一按行筛选的宏代码,非常好用,但经满负荷测试发现,从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
|