2017-10-04 125 views
0

我已经搜索了以下问题的解决方案,并试图自己解决它,但不幸的是,我对宏的有限知识导致我走向死胡同!输入框过滤器宏

以下是我目前使用的宏中的一段代码,我尝试在工作中使重复作用更容易。

我想过滤上在同一工作簿单独的选项卡2个单独的报告,复制和结果,以新的标签与基于输入框与搜索条件来填充糊剂值粘贴。如果这是有道理的。

这个宏的作用不同于它将搜索条件保存为一个确定的数字,而不是使用单元格引用,我试图将它链接到“B2”,在这种情况下,在名为“报表输入“

基本上 - 从表格1复制”B2“中的值”报表输入“,无论数量(不一定是560623),查看标签2”发票备份“并根据单元格”b2“过滤标签1 ...复制粘贴值到标签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 

回答

0

您需要的"560623"在2自动筛选线年底改为

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

+0

非常感谢!完美的作品,为我节省了很多时间! –