Hello there. I have written a piece of code where excel sheet automatically sends email when a due date approaches. I am basic user of VBA and now I am facing a problem as below.

If I have 10 rows with 10 items and each row has a due date, then email triggers whenever due date reaches in each row.
Now in any row, in respective due date column if there is no due date entered, then the code breaks showing run time error 13.

Can someone help me how to solve this. Code should run for rows which has due dates just ignoring where there is no due date. For reference I am attaching the entire code.

Thanks in advance

Sub eMail()
Dim lRow As Integer
Dim i As Integer
Dim toDate As Date
Dim toList As String
Dim eSubject As String
Dim eBody As String

With Application
.ScreenUpdating = False
.EnableEvents = False
.DisplayAlerts = False
End With

Sheets(1).Select
lRow = Cells(Rows.Count, 4).End(xlUp).Row

For i = 2 To lRow
toDate = Replace(Cells(i, 3), ".", "/")
If Left(Cells(i, 5), 4) <> "Mail" And toDate - Date <= 7 Then
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)

toList = Cells(i, 4)
eSubject = "SAE - " & Cells(i, 2) & "- Inquiry Follow UP Required - Due on " & Cells(i, 3)
eBody = "Dear PV Team" & vbCrLf & vbCrLf & "This is a remainder email for follow up required on SAE Inquiry raised on " & Cells(i, 6) & " for SAE -" & Cells(i, 2) & vbCrLf & vbCrLf & "Please update the tracker as required." & vbCrLf & vbCrLf & "Thank you"

On Error Resume Next
With OutMail
.To = toList
.CC = "[email protected]"
.BCC = ""
.Subject = eSubject
.Body = eBody
.bodyformat = 1
.Display
End With

On Error GoTo 0
Set OutMail = Nothing
Set OutApp = Nothing
Cells(i, 5) = "Mail Sent " & Date + Time 'Marks the row as "email sent in Column A"
End If
Next i

ActiveWorkbook.Save

With Application
.ScreenUpdating = True
.EnableEvents = True
.DisplayAlerts = True
End With
End Sub