让Excel宏循环任务,每次略有不同

让Excel宏循环任务,每次略有不同,excel,vba,Excel,Vba,我希望有人能帮助我,因为我知道我正在尝试创建的宏如果关闭,将节省大约30分钟的工作 我每月下载一次财务交易报告;我需要使用的搜索变量在C列中。每个搜索变量的行数每月都在变化。我需要搜索包含给定变量的所有行(例如VDEN、VDEM VDEF;这些是精确的搜索词),复制包含该变量的所有行,并将它们粘贴到五个工作簿中的一个,每个工作簿中都有几个工作表 我有一些代码可以用一个术语和一个工作表位置来实现这一点,但我不知道如何循环它,以便它返回一个新变量,并重新开始整个过程 这就是我已经做到的: Sub M

我希望有人能帮助我,因为我知道我正在尝试创建的宏如果关闭,将节省大约30分钟的工作

我每月下载一次财务交易报告;我需要使用的搜索变量在C列中。每个搜索变量的行数每月都在变化。我需要搜索包含给定变量的所有行(例如VDEN、VDEM VDEF;这些是精确的搜索词),复制包含该变量的所有行,并将它们粘贴到五个工作簿中的一个,每个工作簿中都有几个工作表

我有一些代码可以用一个术语和一个工作表位置来实现这一点,但我不知道如何循环它,以便它返回一个新变量,并重新开始整个过程

这就是我已经做到的:

Sub Macro2()

Workbooks.Open Filename:="C:\Users\jo\Desktop\Month End.xlsx"
Columns("A:L").Select
Selection.EntireColumn.Hidden = False
Application.DisplayAlerts = False
Cells.Find("Total:").Rows(1).EntireRow.Delete
Application.DisplayAlerts = True

Dim lastrow As Long
lastrow = ActiveSheet.Cells(ActiveSheet.Rows.Count, "A").End(xlUp).Row

With ActiveSheet.Range("a1:l" & lastrow)
.AutoFilter Field:=3, Criteria1:="VDEN"
.Offset(1, 0).Copy

 End With

Workbooks.Open Filename:="X:\admin\Finance\2016-17\Transaction Lists\Sample Transactions 2016-17.xlsx"

Windows("Month End.xlsx").Activate
Windows("Sample Transactions 2016-17.xlsx").Activate
Sheets("Pre-Sessional").Select
Columns("A:L").Select
Selection.EntireColumn.Hidden = False

Windows("Sample Transactions 2016-17.xlsx").Activate
Worksheets("Pre-Sessional").Activate
Range("A" & Rows.Count).End(xlUp).Offset(1).Select
ActiveSheet.Paste
Range("D:D,F:F,G:G,H:H,K:K").Select

Selection.EntireColumn.Hidden = True

Windows("Month End.xlsx").Activate
ActiveSheet.ShowAllData


 End Sub
有人能帮忙吗


非常感谢查看筛选器中的OR子句。我建议录音时做一个多重选择过滤器,像这样大约2/3向下。或者在数组上使用for下一个循环。像这样

我不知道OR是否有效,因为每个变量都特定于一个粘贴位置。我不会一次搜索多个变量。请使用“数组”选项,然后将代码包含在链接中显示的其中一个方法中