se vc tem o sql vc provavelmente sabe qtos campos (Ncampos) irão resultar então...
no declarations
dim minha_planilha as variant
no seu procedure...
usa o seu sql para pegar a qtde de registros N...feito isto...
redim minha_planilha( N, Ncampos)
popula o array com o seu sql
agora é só abrir a planilha e passar os dados do array para ela
Dim wapp As Excel.Application
Dim wsheet As Worksheet
Dim wbook As Workbook
Set wapp = New Excel.Application
Set wbook = wapp.Workbooks.Add()
Set wsheet = wapp.Sheets(1)
for i = 1 to N
For k = 0 To ncampos
wsheet.Cells(i, k + 1).Value = minha_planilha(i,k)
Next k
next i
wsheet.SaveAs (nome_do_seu_arquivo)
wapp.Workbooks.Close
PS. aproveita a ocasião e registre-se no forum