基本上每周我都会得到一个包含资源列表的excel,它有相同的标题。
我们大多数人都使用这个excel,并根据以下标准筛选出excel并将结果复制到另一张表中。
我正在开发一个工具,要求用户打开特定的Excel,然后根据过滤条件显示下面的结果。下面是我自己编写的代码。
Public currentWB As Workbook
Public dataWB As Workbook
Sub FilterData()
Dim strFileToOpen As String
strFileToOpen = Application.GetOpenFilename _
(Title:="Please choose a file to open", _
FileFilter:="Excel Files *.xls* (*.xls*),")
If strFileToOpen = Null Then
MsgBox "No file selected.", vbExclamation, "Sorry!"
Exit Sub
Else
Set currentWB = ActiveWorkbook
Sheets("Filter").Select
Range("A14").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Clear
Workbooks.Open Filename:=strFileToOpen, UpdateLinks:=False
Set dataWB = ActiveWorkbook
dataWB.Sheets(2).Range("A2:EA15000").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:= _
currentWB.Sheets("Master").Range("A1:F2"), CopyToRange:=currentWB.Sheets("Filter").Range("A14"), Unique:=True
Columns.AutoFit
dataWB.Close False
Range("A14").Select
End If
End Sub
过滤条件只能有特定的输入,因此我创建了下拉列表,其值来自另一张名为" master"的表格。
我的代码有效,但它没有给我正确的数据。如何解决?