Excel 用于将数据复制到其他工作簿的高级筛选器
我有一个工作簿,一个工作表上有一个搜索界面,另一个工作表上有一个数据库。 这是我用来对数据库执行高级筛选的代码,它返回搜索界面工作表上的值:Excel 用于将数据复制到其他工作簿的高级筛选器,excel,vba,Excel,Vba,我有一个工作簿,一个工作表上有一个搜索界面,另一个工作表上有一个数据库。 这是我用来对数据库执行高级筛选的代码,它返回搜索界面工作表上的值: Private Sub Find_Click() Sheet2.Range("A1").CurrentRegion.AdvancedFilter Action:=xlFilterCopy, _ CriteriaRange:=Sheet4.Range("V1:AE2"), CopyToRange:=Sh
Private Sub Find_Click()
Sheet2.Range("A1").CurrentRegion.AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Sheet4.Range("V1:AE2"), CopyToRange:=Sheet4.Range("E1:T1"), Unique:=False
End Sub
我现在尝试将这两个工作表拆分为两个工作簿。因此,将对工作簿数据中包含的数据执行高级筛选,并将结果返回到工作簿搜索界面。
两个工作簿将始终同时打开
我尝试插入变量:
Private Sub Find_Click()
Set wbSearch = ThisWorkbook
Set wbData = Workbooks("GAL_db.xlsx")
wbData.Sheet2.Range("A1").CurrentRegion.AdvancedFilter Action:=xlFilterCopy,
CriteriaRange:=wbSearch.Sheet4.Range("V1:AE2"), CopyToRange:=wbSearch.Sheet4.Range("E1:T1"), Unique:=False
End Sub
获取上的语法错误
wbData.Sheet2.Range("A1").CurrentRegion.AdvancedFilter Action:=xlFilterCopy
我尝试了很多东西,但都不管用。我不是太博学,我几乎是在黑暗中拍摄。任何帮助或指导都将不胜感激
==更新===
谢谢你的意见,Rory!
我按照建议将代码更改为:
Private Sub Find_Click()
Set wbData = Workbooks("GAL_db.xlsx")
wbData.Sheets("Sheet2").Range("A1").CurrentRegion.AdvancedFilter Action:=xlFilterCopy,
CriteriaRange:=Sheet4.Range("V1:AE2"), CopyToRange:=Sheet4.Range("E1:T1"), Unique:=False
End Sub
现在我又遇到了一个语法错误:
wbData.Sheets("Sheet2").Range("A1").CurrentRegion.AdvancedFilter Action:=xlFilterCopy,
“私人子查找”单击以黄色突出显示…我认为您正在寻找两种解决方案的组合
Private Sub Find_Click()
Set wbSearch = ThisWorkbook
Set wbData = Workbooks("GAL_db.xlsx")
wbData.Sheets("Sheet2").Range("A1").CurrentRegion.AdvancedFilter Action:=xlFilterCopy,
CriteriaRange:=wbSearch.Sheets("Sheet4").Range("V1:AE2"), CopyToRange:=wbSearch.Sheets("Sheet4").Range("E1:T1"), Unique:=False
End Sub
好吧,经过反复试验,我终于成功了!是的!不知道为什么,但只有当我将表4作为工作表1引用时,它才起作用。以下是适用于我的代码:
Private Sub Find_Click()
Dim wbData As Range
Dim wbCriteria As Range
Dim wbExtract As Range
Set wbData = Workbooks("GAL_db.xlsx").Worksheets("data").Range("A1")
Set wbCriteria = ThisWorkbook.Worksheets(1).Range("V1:AE2")
Set wbExtract = ThisWorkbook.Worksheets(1).Range("E1:T1")
wbData.CurrentRegion.AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=wbCriteria, CopyToRange:=wbExtract, Unique:=False
End Sub
错误消息以及在哪一行?除非有引用集,否则不能在其他工作簿中使用工作表的代码名,因此需要使用wbData.SHEETSHEET2,而不是wbData.Sheet2,根据需要调整工作表名称。更改工作表Sheet2后,我现在收到一个编译错误:CriteriaRange之后的预期表达式:=不需要需要wbSearch.Sheet4,但只需要Sheet4.thx作为输入!但我仍然在wbData.SheetsSheet2.RangeA1.CurrentRegion.AdvancedFilter操作:=xlFilterCopy.行上遇到了那个该死的语法错误,。我是否应该换一种方式来完成这项任务?您收到的确切错误是什么?可能是截图?获取编译错误:语法错误