如下图所示,我有一个包含所有用户信息的工作簿(左侧屏幕截图)。我想根据团队负责人的名称制作单独的工作表(右侧截图)。我的问题是团队领导列值总是改变,因为我从应用程序运行报告。
但我的实际代码看起来是:
Range("A:D").AutoFilter Field:=4, Array("Marth", "Rick", "Georgia")
如果有人能帮助我,我们将不胜感激!
答案 0 :(得分:0)
使用数组过滤多个结果时,请使用Operator:=xlFilterValues
的第3个参数。
请尝试以下一行:
Range("A:D").AutoFilter Field:=4, Criteria1:=Array("Marth", "Rick", "Georgia"), _
Operator:=xlFilterValues
答案 1 :(得分:0)
此代码过滤第一个标准“marth”的源数据(sheet1)并将其复制/粘贴到“marth”工作表中。
要完成代码,您需要通过添加其他步骤进行过滤,复制和粘贴来为每个工作表构建代码。祝好运!
Sheets("Sheet1").Select
Range("A1").Select
Selection.AutoFilter
'identifiers that need to be filtered from the full report
ActiveSheet.Range("A:D").AutoFilter Field:=4, Criteria1:= _
Array("Marth"), Operator:=xlFilterValues
'columns that need to be brought from full report to the group tab
Range("A:D").Copy
'update for the sheet you are pasting to
Sheets("Marth").Select
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False