vba高级筛选,VBA高级筛选复制到新表并删除筛选内容

http://www.itjxue.com  2023-01-16 16:53  来源:未知  点击次数: 

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所有的单元格

(责任编辑:IT教学网)

更多

推荐人物新闻文章