我已经设置了一个模板,通过在我的模板中建立的变量上过滤所述电子表格,从另一个电子表格中提取数据。
我似乎无法让宏对我的变量进行适当的过滤(它会保持过滤,以便没有数据保持可见)。我提取的电子表格从A列到AM,有20830行。
我需要利用我的变量来过滤B列。列B当前被设置为VLOOKUP,我尝试粘贴值列但无效。任何关于如何实现这一点的见解将不胜感激!如果我需要更多说明,请告诉我。
下面我提供了我目前的VBA脚本(任何有关改进它的建议也将受到赞赏)。再次,非常感谢你的帮助!! (要过滤的变量是z,在脚本的早期部分中建立)
'Below will grab the Holdings data
Workbooks.Open Filename:= _
"S:\Cashinvt\Audits\D&T" & v & "\PAM.allhold" & y & ".w.stat.xlsm", UpdateLinks:=0
Sheets("allhold").Select
'Here is where I start questioning my code, filtering on variable z
Columns("B:B").Select
ActiveSheet.Range("$B$1:$B$22001").AutoFilter Field:=2, Criteria1:="z"
'Here I am trying to copy the newly filtered data and paste it into another spreadsheet
Range("B1:AM20831").Select
Selection.SpecialCells(xlCellTypeVisible).Select
Selection.Copy
Windows("Audit.Support.Template.xlsm").Activate
Sheets("Holdings").Select
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows("S:\Cashinvt\Audits\D&T" & v & "\PAM.allhold" & y & ".w.stat.xlsm").Activate
Sheets("allhold").Select
Windows("S:\Cashinvt\Audits\D&T" & v & "\PAM.allhold" & y & ".w.stat.xlsm").Activate
ActiveWorkbook.Close SaveChanges:=False
Application.DisplayAlerts = True
Sheets("Cover Page").Select
Range("K1").Select
End Sub
答案 0 :(得分:1)
ActiveSheet.Range("$B$1:$B$22001").AutoFilter Field:=2, Criteria1:=" & z & "
您只给出了一列范围,但说明Field:=2
尝试将范围作为完整表格,即
ActiveSheet.Range("$A$1:$AM$22001").AutoFilter Field:=2, Criteria1:=CInt(z)
注意:我还包括了Dougs关于标准的评论