Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel过滤器取消选择";0“;_Excel_Vba_Filter_Deselect - Fatal编程技术网

Excel过滤器取消选择";0“;

Excel过滤器取消选择";0“;,excel,vba,filter,deselect,Excel,Vba,Filter,Deselect,我正在为库存管理创建Excel电子表格。每个月我都会改变手头的数量,需要订购。我正在编写宏,我只能让它“选择”当前工作表上存在的数量。为了让它在下一个库存周期中正常工作,我需要它刷新所有数据,然后在3个不同的工作表上应用过滤器,以取消选择数量为“0”的项目。当前,宏将仅选择过滤器中当前的项目,而不是取消选择不需要的数量 当前宏看起来像: Sheets("Functional Inventory").Select ActiveWorkbook.RefreshAll Sheets("Atlantic

我正在为库存管理创建Excel电子表格。每个月我都会改变手头的数量,需要订购。我正在编写宏,我只能让它“选择”当前工作表上存在的数量。为了让它在下一个库存周期中正常工作,我需要它刷新所有数据,然后在3个不同的工作表上应用过滤器,以取消选择数量为“0”的项目。当前,宏将仅选择过滤器中当前的项目,而不是取消选择不需要的数量

当前宏看起来像:

Sheets("Functional Inventory").Select
ActiveWorkbook.RefreshAll
Sheets("Atlantic Medical Order Sheet").Select
ActiveSheet.Range("$A$3:$C$21").AutoFilter Field:=2, Criteria1:=Array("1"), Operator:=xlFilterValues
Sheets("BG Order Sheet").Select
ActiveSheet.Range("$A$4:$D$212").AutoFilter Field:=2, Criteria1:=Array("1", _
    "2", "30", "4", "5", "60"), Operator:=xlFilterValues
Sheets("Choice Order Form").Select
ActiveSheet.Range("$A$5:$C$12").AutoFilter Field:=2, Criteria1:="1"
Sheets("Atlantic Medical Order Sheet").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
    IgnorePrintAreas:=False
Sheets("BG Order Sheet").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
    IgnorePrintAreas:=False
Sheets("Choice Order Form").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
    IgnorePrintAreas:=FalseAny 
非常感谢您的帮助

我附上了一张我正在努力改进的一本作业手册的照片

因此,基本上,要订购的数量由另一个工作簿中的数字填充。每个月,我们都会执行库存职责,因此每个项目的订购数量将从0到无限。我只希望宏使用过滤器来取消选择要订购数量为“0”的项目,因此订单将仅显示需要订购数量为非零的项目


我当前的问题是,当我录制宏时,我取消选择“0”,但宏录制器正在选择我输入的所有示例量,而不是取消选择0。例如,“Criteria1=”1“,当要订购的唯一项目在订购数量中输入了“1”,或Criteria1:=数组(“1”、“2”、“30”…等),当要订购的项目的测试数量为1,2,30等时。我希望逻辑类似Criteria1=(而不是0),因此将选择从1到100万的任何非零数量。选择当前存在的可用数量的问题是,下个月,要订购的数量可能不同,并且根据宏使用的逻辑,将不会选择新数量。但是,我不知道如何执行此简单任务。任何帮助都将不胜感激!

如果没有一些示例数据,没有关于您试图实现的目标以及代码错误的良好解释,很难帮助您了解它。我对原始帖子进行了一些编辑,希望它更容易理解。