For post #9, j+0 should be j+1. If you use snb's method, be sure to comment out or delete Option Explicit if you use it like I do.
If I used snb's method, I would trim the array so that no blank item rows were added. The easier way would be to get the total item count first.
Here is a trim method for post #9:
Function F_snb()
ReDim sn(1 To 65536, 1 To 5)
For Each it In CreateObject("Outlook.Application").GetNamespace("MAPI").GetDefaultFolder(13).items
j = j + 1
For jj = 1 To 5
sn(j, jj) = Choose(jj, it.Subject, it.CreationTime, it.DueDate, it.Body, it.Complete)
Next
Next
sn = Application.Index(sn, Application.Evaluate("row(1:" & j & ")"), _
[column(1:5)])
If j = 1 Then
ReDim b(1 To 1, 1 To 5)
For j = 1 To 5
b(1, j) = sn(j)
Next j
F_snb = b
Else: F_snb = sn
End If
End Function
Here is the more simple version.
Function F_snb2()
Set ot = CreateObject("Outlook.Application").GetNamespace("MAPI").GetDefaultFolder(13).items
c = ot.Count
If c = 0 Then Exit Function
ReDim sn(1 To c, 1 To 5)
For Each it In ot
j = j + 1
For jj = 1 To 5
sn(j, jj) = Choose(jj, it.Subject, it.CreationTime, it.DueDate, it.Body, it.Complete)
Next
Next
Set ot = Nothing
F_snb2 = sn
End Function