输入框滤镜宏

时间:2017-10-04 14:04:17

标签: excel excel-vba search filter vba

我已经搜索了以下问题的解决方案,并试图自己解决它,但不幸的是我对宏的了解有限使我陷入了死胡同!

以下是我当前宏的代码,我正在尝试设置这些代码,以便在工作中更容易重复。

我想在同一工作簿中的单独选项卡上过滤2个单独的报表,将结果复制并粘贴到新选项卡,并使用基于输入框的粘贴值填充搜索条件。如果这是有道理的。

该宏除了它已经将搜索条件保存为宏中的确定数字而不是使用单元格引用的事实之外,我试图将其链接到“B2”,在这种情况下,在一个名为“Report”的选项卡上输入“

基本上 - 从选项卡1“报告输入”复制“B2”中的值,无论数字(不一定是560623),请查看选项卡2“发票备份”并根据选项卡1中的单元格“b2”进行过滤。 。复制并粘贴值到选项卡3 ....然后用另一个报告重复该过程...

任何帮助都将不胜感激。

    Sub ReportFilter()
    '
    ' ReportFilter Macro
    '

    '
        Range("B2").Select
    Selection.Copy
    Sheets("TDR Backup").Select
    ActiveSheet.Range("$A$1:$AA$56298").AutoFilter Field:=3, Criteria1:= _
        "560623"
    Cells.Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("TDR").Select
    Cells.Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Sheets("Report Input").Select
    Range("B2").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Invoice Backup").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    ActiveWindow.ScrollColumn = 6
    ActiveWindow.ScrollColumn = 5
    ActiveWindow.ScrollColumn = 4
    ActiveWindow.ScrollColumn = 3
    ActiveWindow.ScrollColumn = 1
    Sheets("Report Input").Select
    Selection.Copy
    Sheets("Invoice Backup").Select
    ActiveSheet.Range("$A$1:$T$340548").AutoFilter Field:=2, Criteria1:= _
        "560623"
    ActiveWindow.SmallScroll Down:=-18
    Cells.Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Invoice").Select
    Cells.Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    ActiveWindow.SmallScroll Down:=-48
    Range("E546").Select
    Selection.End(xlUp).Select
    Range("E67").Select
    Selection.End(xlUp).Select
    Selection.End(xlUp).Select
    Selection.End(xlUp).Select
    Range("E2").Select
    Sheets("TDR").Select
    Range("D39").Select
    ActiveWindow.SmallScroll Down:=-66
    Sheets("TDR Backup").Select
    Rows("1:1").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Sheets("Invoice Backup").Select
    Rows("1:1").Select
    Selection.AutoFilter
    Range("G8").Select
    ActiveWindow.SmallScroll Down:=-18
End Sub

1 个答案:

答案 0 :(得分:0)

您需要将2个自动过滤器行末尾的"560623"更改为

Sheets("Report Input").range("B2")