RE:exportar datos desde sqlserver a excel
Te pongo una opción:
Primero conexionas la BD y creas un recordset con los registros que quieras seleccionar.
Escribes esta Subrutina:
Public Sub ExportExcel(ByVal rs As ADODB.Recordset)
Dim oExcel As Excel.Application
Dim oWBook As Excel.Workbook
Dim oWSheet As Excel.Worksheet
Dim oRange As Excel.Range
Dim iFila As Long, iCol As Integer, i As Integer
Set oExcel = New Excel.Application
Set oWBook = oExcel.Workbooks.Add
Set oWSheet = oWBook.Worksheets(1)
Screen.MousePointer = vbHourglass
iFila = 1
iCol = 1
rs.MoveFirst
For i = 0 To rs.Fields.Count - 1
' pone el nombre de los campos en la primera fila
oWSheet.Cells(iFila, i + 1) = rs.Fields(i).Name
Next
iFila = iFila + 1
With oWSheet
' carga los registros del recordset
.Cells(iFila, iCol).CopyFromRecordset rs
End With
oExcel.Visible = True
oExcel.ActiveWorkbook.Close , False
Set oExcel = Nothing
Screen.MousePointer = vbDefault
End Sub
y para llamar al procedimiento (por ejemplo desde un botón):
ExportExcel MiRecordset