嘿伙计我在Excel和vba中创建宏是相当新的。我在excel中有一份报告,其中列出了我们合作的所有客户以及我们处理这些客户的小时数。我想在此工作簿中创建一个单独的工作表,该工作簿仅提取我们工作超过40小时的客户端并通过vba /宏执行此操作
例如,我的报告的基本版本在Sheet 1中显示如下
客户端------客户端ID ---小时
客户1 ------ 1947 -------- 30
客户2 ------ 6465 -------- 46
客户3 ------ 8787 -------- 20
客户4 ------ 7878 -------- 15
客户5 ------ 4873 -------- 48
我希望我的新工作表只显示
客户端------客户端ID ---小时
客户2 ------ 6465 -------- 46
客户5 ------ 4873 -------- 48
我想知道它是否有一段时间看,但一旦发现第一个值大于40就不会中断,那么它就不会继续下一组值。任何想法,或者如果你能指出我正确的方向。
答案 0 :(得分:0)
我录制了一个快速宏来获取过滤条件的代码,然后使用Copy Destination:=
。录制宏并查看它们是开始学习某些VBA的好方法
Sub Shorty()
Cells.Select
Selection.AutoFilter
ActiveSheet.UsedRange.AutoFilter Field:=3, Criteria1:=">40", _
Operator:=xlAnd
ActiveSheet.UsedRange.Copy Destination:=ActiveWorkbook.Sheets("Sheet2").Range("A1")
Selection.AutoFilter
End Sub
您可以找到复制方法here
的文档