As you are new to VBA, may I suggest adding Option Explicit to the module as that will force you to declare your variables and then you won't so readily get the variable names mixed up - or reinvented as in your example.
The outlook code would be better as shown below - I'll leave the Excel stuff to you given that we don't know what is on the worksheet. I would also suggest checking what you have in B4 with regard to the mail received time as they need to match. You may also have a problem reading the mail body into a cell. May I suggest you test with a folder that contains few items.
Sub GetMailContent()
Dim olApp As Object
Dim olNS As Object
Dim olFldr As Object
Dim olItems As Object
Dim olMail As Object
Dim i As Integer
On Error Resume Next
Set olApp = GetObject(, "Outlook.Application")
If Err Then
Set olApp = CreateObject("Outlook.Application")
End If
On Error GoTo 0
Set olNS = olApp.GetNamespace("MAPI")
Set olFldr = olNS.Pickfolder
If olFldr = "Nothing" Then Exit Sub
Set olItems = olFldr.Items
For i = 1 To olItems.Count
Set olMail = olItems(i)
If TypeName(olMail) = "MailItem" Then
Debug.Print olMail.ReceivedTime
If olMail.ReceivedTime >= Range("B4").value Then
Range("Email_Subject").Offset(1, 0).value = olMail.Subject
Range("Email_Date").Offset(1, 0).value = olMail.ReceivedTime
Range("Email_Sender").Offset(1, 0).value = olMail.SenderName
'Range("Email_Body").Offset(1, 0).value = olMail.body
End If
End If
Next i
Range("A:D").EntireColumn.AutoFit
Set olFldr = Nothing
Set olApp = Nothing
Set olMail = Nothing
Set olNS = Nothing
Set olItems = Nothing
End Sub