我有一个 Excel 工作簿,用于跟踪我的仓库订单。我有一个“Open Re-Orders”选项卡和一个“Items Needing Quote Tab”。在“打开重新订购”选项卡上,A 列包含项目编号,K 列包含手动输入电子表格的供应商报价金额。
在“需要报价的项目”选项卡上,我在 A 列中有下面的公式,该公式将“打开的重新订购”选项卡上存在的所有项目编号拉出,这些编号当前在 K 列(报价)中没有值. 然后我有一个宏设置,它按项目编号过滤数据,“全选”,然后取消选择 0 和空白。然后宏按供应商编号(C 列)对数据进行排序。
“Items Needing Re-Orders”A列公式为:=IF('Open Re-Orders'!$K:$K="",'Open Re-Orders'!$A2)
当我查看宏中的代码时,我看到宏不是全选,而是单独选择每个项目编号。我每次都需要选择全部,即使项目编号已添加到“打开重新订购”选项卡。
提前致谢。
子 Refresh_Quote()
Range("A1:E1").Select
Selection.AutoFilter
ActiveSheet.Range("$A$1:$E$150").AutoFilter Field:=1, Criteria1:=Array( _
"90000100", "90000104", "90000106", "90000109", "90000304", "90002040", "90003060", _
"90003070", "90003075", "90003919", "90003923", "90004134", "90004211", "90004257", _
"90004295", "90004330", "90004385", "90004415", "90004466", "90004577", "90004600", _
"90004858", "90004859", "90004868", "90004871", "90004872", "90004901", "90004972", _
"90004973", "90004974", "90004975", "90004976", "90005053", "90006117", "90006168", _
"90006320", "90006322", "90006349", "90006385", "90006466", "90007751", "90009942", _
"90092367"), Operator:=xlFilterValues
ActiveWorkbook.Worksheets("Items Needing Quote").AutoFilter.Sort.SortFields. _
Clear
ActiveWorkbook.Worksheets("Items Needing Quote").AutoFilter.Sort.SortFields. _
Add Key:=Range("C1:C150"), SortOn:=xlSortOnValues, Order:=xlAscending, _
DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Items Needing Quote").AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("G43").Select
Run Code Online (Sandbox Code Playgroud)
结束子
小智 7
这比你想象的要容易。只是不包括您拥有的“标准”ActiveSheet.Range("$A$1:$E$150").AutoFilter Field:=1, Criteria1:=Array( _
将其缩短为 ActiveSheet.Range("$A$1:$E$150").AutoFilter Field:=1
更短的是 ActiveSheet.Range("A1").AutoFilter Field:=1
| 归档时间: |
|
| 查看次数: |
22852 次 |
| 最近记录: |