我试图在do while中嵌套两个循环。
基本上,虽然有一个有效的电子邮件,我想检查是否应该发送电子邮件(是/否),如果没有 - >循环,如果是Y,这是电子邮件,那么循环。我已经把所有东西都正确地
了请参阅下面的代码。谢谢。
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
答案 0 :(得分:0)
我从未使用过Visual Basic,但试试这个:
Sub EmailDisplay()
'I added next two line because Count and Email are not initialized
Count = 1
Email = Sheets("Mailing").Cells(Count, 1).Value
Do While Email <> vbNullString
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
End If
Count = Count + 1 'Updates Variable count to continue loop
Email = Sheets("Mailing").Cells(Count, 1).Value
Loop
End Sub
我认为你不需要嵌套循环。在这里,我们有一个带有if块的循环,用于两种情况。 BTW。如果你需要嵌套循环,你需要确保每个“Do While”只有一个匹配的“循环”