I got some help here with this as well. check out the below code. I made some corredtions based on what I was doing. But this basically extracts a recordset from VB and puts it into an excel spread sheet. you can do this from a datagrid, form or list.
Dim objExcel As Excel.Application
On Error Resume Next
Set objExcel = GetObject(, "Excel.Application"

If Err.Number <> 0 Then
Set objExcel = CreateObject("Excel.Application"

End If
Err.Clear
objExcel.Visible = True
objExcel.WindowState = xlMaximized
objExcel.Workbooks.Add
rs.MoveFirst
s = 0
r = rs.Fields.Count
RowNum = 0
Do While (rs.EOF = False)
s = s + 1
RowID = Trim(s)
For ColIdx = 1 To r
ColSet = Int((ColIdx - 1) / 26)
If (ColSet = 0) Then
ColId = Chr(ColIdx + 64)
Else
ColId = Chr(ColSet + 64) & Chr((ColIdx - (ColSet * 26)) + 64)
End If
objExcel.Range(ColId & RowID).Value = rs.Fields(ColIdx - 1)
Next ColIdx
rs.MoveNext
Loop
The code i have is very long so I just gave you the starting point. what you can do as well is, create a macro within excel and copy the code and paste it into VB. Thats why my code is so long. you can format cells etc.
hope this helps