如何利用excel vba提取指定条件的数据
4个回答
展开全部
Sub Macro1()
dim years as string
years ="2000"
Rows("1:1").Select
Selection.AutoFilter
ActiveSheet.cells.AutoFilter Field:=4, Criteria1:=years
End Sub
以上代码定于years 变量,可根据设置年份
然后选择第一行,生成高级筛选,筛选条件是第四列,筛选内容是变量years
追问
追答
没有内容证明AutoFilter Field:=4, Criteria1:=years 这些条件不存在这个表格里面呀啊,,,你要确定你筛选哪些列,哪些内容,还不行的话,你上存文件吧
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以的,vba和透视表都可以。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
代码如下:
请保存成名为BOOK的97-2003格式文件
并把所有的数据文件,放到与这个文件同一个文件夹中,再执行程序
Sub main()
f = Dir(ThisWorkbook.Path & "\" & "*.xls*")
Do While f <> ""
If f = "BOOK.xls" Then GoTo eee
Workbooks.Open ThisWorkbook.Path & "\" & f
arr = ActiveWorkbook.Sheets(1).Range("A1").CurrentRegion
For i = 2 To UBound(arr)
If ActiveWorkbook.Sheets(1).Cells(i, "D") = "2000" Then '这里是提取2000年数据,如果是其他年份,将2000更改
k = ThisWorkbook.Sheets(1).Range("A65536").End(xlUp).Row + 1
ActiveWorkbook.Sheets(1).Rows(i).Copy ThisWorkbook.Sheets(1).Rows(k)
End If
Next i
Workbooks(f).Close
eee:
f = Dir
Loop
End Sub
请保存成名为BOOK的97-2003格式文件
并把所有的数据文件,放到与这个文件同一个文件夹中,再执行程序
Sub main()
f = Dir(ThisWorkbook.Path & "\" & "*.xls*")
Do While f <> ""
If f = "BOOK.xls" Then GoTo eee
Workbooks.Open ThisWorkbook.Path & "\" & f
arr = ActiveWorkbook.Sheets(1).Range("A1").CurrentRegion
For i = 2 To UBound(arr)
If ActiveWorkbook.Sheets(1).Cells(i, "D") = "2000" Then '这里是提取2000年数据,如果是其他年份,将2000更改
k = ThisWorkbook.Sheets(1).Range("A65536").End(xlUp).Row + 1
ActiveWorkbook.Sheets(1).Rows(i).Copy ThisWorkbook.Sheets(1).Rows(k)
End If
Next i
Workbooks(f).Close
eee:
f = Dir
Loop
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
透视表也可以。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询