Vba 筛选并统计3列之间的匹配项
我有一个包含13列的表,其中包含可变数据,我需要按以下方式进行筛选: 日期、批号、行、操作员和订单号。 这张桌子看起来像这样:Vba 筛选并统计3列之间的匹配项,vba,excel,Vba,Excel,我有一个包含13列的表,其中包含可变数据,我需要按以下方式进行筛选: 日期、批号、行、操作员和订单号。 这张桌子看起来像这样: DATE QUANTITY LOT NUMBER LINE OPERATOR ORDER NUM. WAREHOUSE may/12 10:05 423 8765432 first juan 924324 1 may/12 10:07
DATE QUANTITY LOT NUMBER LINE OPERATOR ORDER NUM. WAREHOUSE
may/12 10:05 423 8765432 first juan 924324 1
may/12 10:07 377 76543342 first james 6435235 1
may/12 10:05 123 543563 second juan 924324 1
may/12 10:06 214 523535235 third jack 54353 1
我需要在另一列中选择并复制操作员处理不同订单的次数、行数、订单号和日期(但我可以跳过小时)
信息总是可变的,但我需要按订单号筛选firstable
有什么想法吗?
多谢各位
我使用了这个宏:
Sub dOrders()
Application.ScreenUpdating = False
Dim x As Range
Dim rng As Range
Dim last As Long
Dim sht As String
sht = ActiveSheet.Name
last = Cells(Rows.Count, 1).End(xlUp).Row
Set rng = Sheets(sht).Range("A1:N" & last)
Sheets(sht).Range("J2:J" & last).AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range("V1"), Unique:=True
For Each x In Range([V2], Cells(Rows.Count, "V").End(xlUp))
With rng
.AutoFilter
.AutoFilter Field:=10, Criteria1:=x.Value
.SpecialCells(xlCellTypeVisible).Copy
'Sheets.Add(After:=Sheets(Sheets.Count)).Name = x.Value
'ActiveSheet.Paste
'我之所以对其进行评论,是因为我希望它像filtre my table一样粘贴在同一张表中,只需将筛选数据粘贴到X列中,即可查看操作员按日期执行的订单数量
End With
Next x
Sheets(sht).AutoFilterMode = False
With Application
.CutCopyMode = False
.ScreenUpdating = True
End With
End Sub
我还使用这个宏来计算:
Sub QuantityOf()
'Finds the last non-blank cell in a single row or column
Dim lrow As Long
Dim lCol As Long
'Find the last non-blank cell in column A(1)
lrow = Cells(Rows.Count, 22).End(xlUp).Row
'Find the last non-blank cell in row 1
'lCol = Cells(, Columns.Count).End(xlToLeft).Column
MsgBox "The number is: " & lrow & " -1 " & vbNewLine
End Sub
建议您在执行筛选操作时尝试录制宏,请参阅,在清理代码后,如果/当遇到问题时,请询问有关该问题的特定问题。@gmalc我更改了我的设置question@urdearboy我改变了我的问题你可以保留数据,添加宏或触发器(按钮)按所需方式排序或删除排序。按照您描述的方式,它是一种单行排序,但一旦按顺序对它进行排序,您就可以始终按另一个字段进行排序。如果需要新的格式化数据表,您可以随时排序、复制、粘贴或删除排序。@wookies会编写代码我知道我可以做到,但我不知道如何做到。无论如何谢谢你