如何解决如何停止自动过滤宏间歇性失败
我有一个宏,旨在根据某些条件自动过滤,然后隐藏某些列并将剩下的内容复制到适当的文件中。有时文件过滤正确,但有时它会在 Selection.AutoFilter
行停止并显示 RE 1004 错误,“范围类的方法失败”。如果我在打开文件后立即运行宏,通常会发生这种情况。如果我用宏重置整个工作表,我必须取消隐藏所有内容,它会正确过滤。
如果过滤正确,则在粘贴到目标文件时会忽略某些列。这些列是少数空白列之后的第一列。我需要它复制除标题之外的所有可见列,或者甚至可以更改为列 A - X,因为这是所需信息的范围。
这里是宏
Sub OO_Away_Lay_1()
'
' OO Away Lay v1 Macro
' This macro will filter for 1x2
'
Dim ws As Worksheet,lc As Long,lr As Long
Set ws = ActiveSheet
'range from A1 to last column header and last row
lc = ws.Cells(1,ws.Columns.Count).End(xlToLeft).Column
lr = ws.Cells.Find("*",after:=ws.Range("A1"),LookAt:=xlPart,_
SearchOrder:=xlByRows,SearchDirection:=xlPrevious).Row
With ws.Range("A1",ws.Cells(lr,lc))
.HorizontalAlignment = xlCenter
Selection.AutoFilter
.AutoFilter Field:=24,Criteria1:="Draw",Operator:=xlFilterValues
If .Rows.Count - 1 > 0 Then
On Error Resume Next
.Columns("L:S").EntireColumn.Hidden = True
.Columns("U:W").EntireColumn.Hidden = True
.Columns("Y:CK").EntireColumn.Hidden = True
.Offset(1,0).Resize(.Rows.Count - 1).SpecialCells(xlCellTypeVisible).Copy
On Error GoTo 0
Else
Exit Sub
End If
End With
Workbooks("Predictology_Trading Template v3.1.xlsm").Sheets("OO Away Lay v1") _
.Range("A" & Rows.Count).End(xlUp).Offset(1).PasteSpecial xlPasteValues
Application.CutCopyMode = False
End Sub
有没有想办法修复它,让它一直自动过滤并复制所有需要的数据?
干杯
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。