【发布时间】:2017-11-18 07:42:46
【问题描述】:
我试图在一个 do while 中嵌套两个循环。
基本上,当有一个有效的电子邮件时,我想检查我是否应该发送电子邮件(是/否),如果没有 -> 循环,如果是,这是电子邮件,然后循环。我已经正确调暗了所有内容
请看下面的代码。谢谢。
Sub EmailDisplay()
Do While Email <> vbNullString
If Sheets("Mail").Cells(Count, 1).Value = N Then
Count = Count + 1
Loop
If Sheets("Mail").Cells(Count, 1).Value = Y Then
Set aOutlook = CreateObject("Outlook.Application")
Set aEmail = aOutlook.CreateItem(0)
Name = Sheets("Mail").Cells(Count, 2).Value
Count = Count + 1 'Updates Variable count to continue loop
Email = Sheets("Mailing").Cells(Count, 1).Value
End If
Loop
End Sub
【问题讨论】:
-
现在我看到编译错误 - 第一个循环没有执行的循环。
-
你有两个 if 语句,只有一个 end if。您的 Do While 仅在计数后循环。错误是因为你的最终循环没有附加到任何东西。
-
谢谢 BerticusMaximus - 如果我将红色停止代码放在 If Sheets = Y 行,我会得到 Loop without Do 的编译错误。但是,他们可以清楚地看到那里有一个 Do While。我也尝试过在 Email vbNullstring 中添加第二个 do,但它似乎不起作用