11
votes

task to send email from excel. Below is the example column. How I can get the email value from the loop? Thanks

enter image description here

Here is my code :

   Dim rng As Range
   Dim row As Range
   Dim cell As Range
   Dim mydate As Date
   Dim myDiff As Long

Set rng = Range("E5:E17") Set rng2 = Range("F5:F17") Dim cell2 As Range

Dim i As Integer i = 5

For Each row In rng.Rows For Each cell In row.Cells

MsgBox cell.Value
mydate = cell.Value
myDiff = DateDiff("d", Date, mydate)

Set rng2 = Range("F" & i)
For Each cell2 In rng2
 MsgBox cell2.Value
Next cell2

If myDiff > -8 And myDiff < 8 Then aEmail.Send End If

i = i + 1 Next cell Next row

1
Well, you're looking at Range("E5:E17"), and your email addresses are in column F, so it looks like you should just read the value from column F when you need the email. What exactly is your question?Ken White
yes. above script is only get date value only. I need the email value in the loop also. So that if the datediff is more than 8, email will send to the respective email.user2286756

1 Answers

14
votes

I think you need this ..

Dim n as Integer   

For n = 5 to 17
  msgbox cells(n,3) '--> sched waste
  msgbox cells(n,4) '--> type of treatm
  msgbox format(cells(n,5),"dd/MM/yyyy") '--> Lic exp
  msgbox cells(n,6) '--> email col
Next