vba高级筛选,VBA高级筛选复制到新表并删除筛选内容
excel中用 VBA 实现 高级筛选
Range("G1:L4322").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range("N19:P20"), CopyToRange:=Range("AE1:AJ100")
VBA高级筛选 条件
说实在的,还真没怎么看明白你要求的输出格式。
给你一段VBA代码,你试下效果,再参照着进行修改吧。
这段代码,要在“源数据”所在的工作簿运行。
Private?Sub?DataProc()
???Dim?objWbNew???As?Workbook
???Dim?objShNew???As?Worksheet
???Dim?objShSrc???As?Worksheet
???Dim?vA,?vB,?vC,?vD,?vE
???Dim?i,?R,?strTmp$
???
???Set?objShSrc?=?Sheets("Sheet1")??'数据在Sheet1表
???Set?objWbNew?=?Workbooks.Add
???Set?objShNew?=?objWbNew.Sheets(1)
???i?=?1????'如果有表头行,数据从第几行开始,就等于几
???R?=?i
???Do
??????strTmp?=?objShSrc.Cells(i,?1)
??????If?(Len(strTmp)?=?0)?Then?Exit?Do
??????vA?=?strTmp
??????vB?=?objShSrc.Cells(i,?2)
??????vC?=?objShSrc.Cells(i,?3)
??????If?((vA?=?vB)?And?(vB?=?vC))?Then
?????????'A,B,C,D,E,D,E,D,E
?????????vD?=?objShSrc.Cells(i,?4)
?????????vE?=?objShSrc.Cells(i,?5)
?????????objShNew.Cells(R,?1)?=?vA
?????????objShNew.Cells(R,?2)?=?vB
?????????objShNew.Cells(R,?3)?=?vC
?????????objShNew.Cells(R,?4)?=?vD
?????????objShNew.Cells(R,?5)?=?vE
?????????objShNew.Cells(R,?6)?=?vD
?????????objShNew.Cells(R,?7)?=?vE
?????????objShNew.Cells(R,?8)?=?vD
?????????objShNew.Cells(R,?9)?=?vE
?????????R?=?R?+?1
??????End?If
??????i?=?i?+?1
???Loop
End?Sub
excel怎么用vba进行高级筛选?
Sub?筛选()
????Set?d?=?CreateObject("Scripting.Dictionary")
????For?i?=?1?To?[a65536].End(3).Row
????????If?Cells(i,?1)?=?[b1]?Then
????????Set?d(Cells(i,?1))?=?Cells(i,?1)
????????End?If
????Next
????t?=?d.items
????[d1].Resize(d.Count,?1)?=?Application.Transpose(t)
End?Sub
用VBA两种方法实现类似高级筛选
Sub?宏1()
'
'?宏1?宏
'
'
????Range("A1:E21").AdvancedFilter?Action:=xlFilterCopy,?CriteriaRange:=Range(?_
????????"B23:F24"),?CopyToRange:=Range("G1:K1"),?Unique:=False
End?Sub
关于vba的高级筛选最简代码
1、单元格B4到Jx(x是变量,代码运行时是几就是几)
2、[k1:k2]就是单元格k1到k2所有的单元格