The code needs to be changed a little - try the following
Sub sendEmail()
Dim OutApp As Object
Dim OutMail As Object
Dim dataWs As Worksheet
On Error GoTo test_Error
'Change the following line to the sheet containing the data
Set dataWs = Worksheets("Sheet1")
For k = 2 To dataWs.Cells(Rows.Count, "A").End(xlUp).Row
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
If CDate(dataWs.Range("A" & k)) = Format(Now, "dd/mm/yyyy") Then
With OutMail
.To = dataWs.Range("B" & k)
.Cc = dataWs.Range("D" & k)
.Subject = dataWs.Range("C" & k)
.Body = dataWs.Range("E" & k)
' In place of the following statement, you can use ".Send" to Send the email
'.Display
.Send
End With
End If
Set OutMail = Nothing
Set OutApp = Nothing
Next
On Error GoTo 0
Exit Sub
test_Error:
MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure test of Module1"
End Sub
This will SEND every email that matches today's date
Bookmarks