不要忽略VBA的重复电子邮件地址

时间:2018-02-13 22:20:46

标签: excel vba excel-vba duplicates

在此代码中,脚本将排除重复的电子邮件地址。我想要相反,因为我想包含重复的电子邮件地址,并向每个电子邮件发送一封单独​​的电子邮件。我不知道要修改哪些代码来获得预期的结果。

shell=True

如您所见,需要替换电子邮件模板中的某些信息。

1 个答案:

答案 0 :(得分:2)

首先,不要循环列中的每个单元格。这是非常低效的。我建议你放在一个数组中,如果你必须你可以循环它。

此外,虽然声明工作簿/工作表/范围对象技术上是可选的,但是不建议您不要这样做。首先,如果正确(如使用有意义的变量名称),这可以帮助您更轻松地阅读代码。

Sub test()

    ' For the love of Pete, declare your objects!!
    Dim ws As Worksheet, rngI As Range
    Set ws = ThisWorkbook.Worksheets("day1")
    Set rngI = ws.UsedRange.Columns("I")

    ' This is your array that contains your emails
    Dim emailArr() As Variant, Email As Variant
    emailArr = rngI.Value

    ' Loop through each email and do what you need to do with it
    For Each Email In emailArr
        Set objOutlook = CreateObject("Outlook.Application")

        'everything you do with this email goes here

    Next

End Sub