如何利用excel vba提取指定条件的数据

2025-01-02 04:55:32
推荐回答(4个)
回答1:

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

回答2:

可以的,vba和透视表都可以。

回答3:

代码如下:
请保存成名为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

回答4:

透视表也可以。