【问题标题】:Input Box Filter Macro输入框过滤器宏
【发布时间】:2018-03-15 23:15:36
【问题描述】:

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

以下是我当前宏的代码,我正在尝试设置它以使工作中的重复角色更容易。

我想在同一工作簿中的不同选项卡上过滤 2 个单独的报告,将结果复制并粘贴到新选项卡中,并根据要填充搜索条件的输入框使用粘贴值。如果这有意义的话。

该宏的工作原理是它已将搜索条件保存为嵌入宏中的确定数字,而不是使用单元格引用,在这种情况下,我试图在名为“报告”的选项卡上将其链接到“B2”输入”

基本上 - 从选项卡 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

【问题讨论】:

    标签: excel search filter vba


    【解决方案1】:

    您需要将 2 个 Autofilter 行末尾的 "560623" 更改为

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

    【讨论】:

    • 非常感谢!完美运行,为我节省了很多时间!
    猜你喜欢
    • 2012-04-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-14
    • 1970-01-01
    • 2021-11-02
    • 2017-07-16
    • 1970-01-01
    相关资源
    最近更新 更多