如何从一个工作簿到另一个工作簿使用自动筛选?

时间:2019-05-22 10:24:07

标签: excel vba

我试图使用工作簿A的一些输入从工作簿B获取数据库以进行自动过滤。我正在工作簿A中构建宏。

我有以下内容: 工作簿A-您开始工作时的文件 Worrkbook B-数据库,此代码的最终目标是将一些信息从工作簿B导入到工作簿A

我需要以下内容:

  • 通过双击工作簿A中的列,工作簿B应该打开(完成)
  • 从工作簿A中单击的值将另存为变量,我们称其为input_db(完成)
  • 工作簿B将基于input_db自动过滤(未完成,需要帮助!)
  • 从工作簿B中选择所需的数据,并将其导入工作簿A中,最好也双击鼠标(尚未完成,但是如果有任何建议,我将不胜感激;))

该过程应连续重复几次。

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

Dim input_row, input_column As Integer
Dim input_db As String
Dim wbB, wbA As Workbooks

If Not (Application.Intersect(ActiveCell, [Links]) Is Nothing) Then 'Links is the name of the range where I need the code to be active
If ActiveCell.Value <> "" Then

input_row = ActiveCell.row
input_column = ActiveCell.Column
input_db = ActiveCell.Value

Set database = Workbooks.Open("Workbook B location")


ActiveWorkbook.ActiveSheet.Range("A9").AutoFilter Field:=1, Criteria:=input_db ' This bit doesnt work as expected


End If
End If

End Sub

1 个答案:

答案 0 :(得分:0)

如我所见,您使用的是错误格式的自动过滤器。根据需要修改后尝试此行。自动过滤器采用的是Criteria1而不是Criteria。

ActiveWorkbook.ActiveSheet.Range("A9").AutoFilter Field:=1, Criteria1:=input_db

此外,您还可以在这里找到有关自动过滤器的更多信息:Link

让我们知道它是否仍然无法正常工作。

编辑2:

您将必须打开输入框并选择单元格。为此,您可以遵循This Link