1
我只是想知道如何循环通过Excel宏中的不同选项并执行相同的操作。循环通过Excel中的不同过滤器选项宏
我的操作是将ID从excel导出到Outlook分发列表。
我用下面的代码:
Public Sub DistributionList()
Dim objOutlook As New Outlook.Application
Dim objNameSpace As Outlook.Namespace
Dim objDistList As Outlook.DistListItem
Dim objMail As Outlook.MailItem
Dim objRecipients As Outlook.Recipients
Set objNameSpace = objOutlook.GetNamespace("MAPI")
Set objDistList = objOutlook.CreateItem(olDistributionListItem)
Set objMail = objOutlook.CreateItem(olMailItem)
Set objRecipients = objMail.Recipients
ActiveSheet.Range("$A$1:$C$10").AutoFilter Field:=3, Criteria1:= _
"Team 1"
objDistList.DLName = "Team 1"
For i = 2 To Cells(ActiveSheet.Rows.Count, 1).End(xlUp).Row
objRecipients.Add (Range("B" & i).Value)
Next i
objDistList.AddMembers objRecipients
objDistList.Display
objRecipients.ResolveAll
Set objOutlook = Nothing
Set objNameSpace = Nothing
Set objDistList = Nothing
Set objMail = Nothing
Set objRecipients = Nothing
End Sub
在上面这两行代码过滤一个团队,并出口到一个通讯组列表,
ActiveSheet.Range("$A$1:$C$10").AutoFilter Field:=3, Criteria1:= _
"Team 1"
objDistList.DLName = "Team 1"
我有三个团队和我会要三分发列表。任何人都可以帮助我编辑此代码,以便它可以遍历文件并创建三个分发列表?
我是新来的VBA和任何帮助,将不胜感激。
感谢
在这段代码中,我们怎么能通过团队名?我只是为了测试目的而将其作为第一队名称。理想情况下,我为每个球队名称使用不同的文本名称。我们可以修改代码来给出名称吗? –
确定您想从您指定的范围或其他地方获取团队名称? –
我不想获取名称,我想在开始时对名称进行硬编码,以便我们可以从那里使用它。 –