2016-10-11 4 views
0

Ich habe den folgenden Code, wo die Adresse nicht funktionieren ... Ich frage mich, wie ich die E-Mail-Adresse Wert aus einer Zelle auswählen kann, weil mit Zellen (1,1) .value es scheint in meinem Fall nicht zu funktionieren.Excel VBA E-Mail Zelle Wert

Sub email_missing_forecast() 

Application.ScreenUpdating = False 

'Déclaration des variables 
derniereligne = Range("B").End(xlUp).Row 
Adresse = Cells(i, "D").Value 
Adresse2 = Cells(i, "E").Value 
Adresse3 = Cells(i, "F").Value 
Project_number = Cells(1, 2).Value 
Project_name = Cells(2, 2).Value 
Project_due = Cells(3, 2).Value 
Lien = Cells(4, 2).Value 


Dim Objoutlook As New Outlook.Application 
Dim Objectmail 

'Condition 
For i = 6 To derniereligne 
If Cells(i, "B").Value = "No" Then 
    Set Objoutlook = New Outlook.Application 
    Set Objectmail = Outlook.createitem(olmailitem) 
     With Objectmail 
     .To = Adresse & ";" & Adresse2 & ";" & Adresse3 
     .Subject = "Bobbi Brown| " & Project_number & " " & Project_name & "| Forecast due " & Project_due 
     .Body = "Dear All, " & Chr(10) & "I kindly remind you that forecasts for program " & Project_number & " " & Project_name & " are due " & Project_due & "." & Chr(10) & "Please enter your forecast " & "<a href=lien>here.</a>" & Chr(10) & "Best Regards," & Chr(10) & "Christian Chen" 
     .Send 
End with 
End If 
Next i 
Application.ScreenUpdating = True 
MsgBox "Your e-mails have been sent successfully", , "FIY" 
End Sub 

Antwort

2

Du hast nicht i gesetzt, bevor sie für Adresse Variablen, die Deklaration dieser Variablen in der Schleife bewegen sollte Ihr Problem lösen:

Sub email_missing_forecast() 

Application.ScreenUpdating = False 

'Déclaration des variables 
derniereligne = Range("B").End(xlUp).Row 
Project_number = Cells(1, 2).Value 
Project_name = Cells(2, 2).Value 
Project_due = Cells(3, 2).Value 
Lien = Cells(4, 2).Value 


Dim Objoutlook As New Outlook.Application 
Dim Objectmail 

'Condition 
For i = 6 To derniereligne 
    Adresse = Cells(i, "D").Value 
    Adresse2 = Cells(i, "E").Value 
    Adresse3 = Cells(i, "F").Value 

    If Cells(i, "B").Value = "No" Then 
     Set Objoutlook = New Outlook.Application 
     Set Objectmail = Outlook.createitem(olmailitem) 
     With Objectmail 
      .To = Adresse & ";" & Adresse2 & ";" & Adresse3 
      .Subject = "Bobbi Brown| " & Project_number & " " & Project_name & "| Forecast due " & Project_due 
      .Body = "Dear All, " & Chr(10) & "I kindly remind you that forecasts for program " & Project_number & " " & Project_name & " are due " & Project_due & "." & Chr(10) & "Please enter your forecast " & "<a href=lien>here.</a>" & Chr(10) & "Best Regards," & Chr(10) & "Christian Chen" 
      .Send 
     End with 
    End If 
Next i 
Application.ScreenUpdating = True 
MsgBox "Your e-mails have been sent successfully", , "FIY" 
End Sub