循环遍历单元格,使用VBA添加那些符合条件的列表/string?

我是VBA新手(在java中只有一点点的训练),并且遇到了困难。

最终目标是循环遍历包含名称的单元格区域,将相邻单元格的值与常量进行比较。 如果符合条件,则应将原始单元格添加到将由另一个负责起草电子邮件的公式摄取的列表中。 这将每天重复,与每个名称一致的值将改变。

我已经想通过使用一个variables来添加EVERY名到电子邮件草稿的“TO”行,但是不知道如何给循环添加条件,所以只添加了所需的variables。 从本质上讲,我相信我唯一需要帮助的是“sTo”variables。 谢谢!

Sub Draft_Email() Dim emailRng As Range, cl As Range Dim adjCellRng As Range, cmp As Range Dim sTo As String Dim day As String Dim EmailBody As String Dim i As Integer Dim k As String k = 85 day = Format(Date, "dddd mmmm d") EmailBody = "Blah Blah" Set emailRng = Worksheets("Briefing Order").Range("D4:D31,G4:G31,J4:J31,M4:M31") For Each cl In emailRng **cmp = cl.Offset(0, -1)** If cmp >= k Then sTo = sTo & ";" & cl.Value & "WindTemp-DG@wnco.com" End If Next cl sTo = Mid(sTo, 2) '..Draft Email where .BCC = sTo End Sub 

 Set emailRng = Worksheets("Briefing Order").Range("D4:D31,G4:G31,J4:J31,M4:M31") Set adjCellRng = Worksheets("Briefing Order").Range("E4:E31,H4:H31,K4:K31,L4:L31") 'something like the following... For i = 1 to emailRng.size 'whatever the limit variable is cl = emailRng(i) cmp = adjCellRng(i) if cmp==k then sTo = sTo & ";" & cl.Value & "Department@work.com" end if Next sTo = Mid(sTo, 2) 

我会改变jdl代码

 Set emailRng = Worksheets("Brifing Order").Range("D4:D31,G4:G31,J4:J31,M4,M31") 'something like the following... For each c1 in emailRng.cells cmp = c1.offset(0,1) if cmp==k then sTo = sTo & ";" & cl.Value & "Department@work.com" end if Next sTo = Mid(sTo, 2)