【发布时间】: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
【问题讨论】: