Dim cnn As ADODB.Connection Dim rs As ADODB.Recordset Dim objExcelApp As Excel.Application ' Aplicación Dim objExcelWorkBook As Excel.Workbook ' Libro de trabajo Dim objExcelSheet As Excel.Worksheet ' Hoja de trabajo Dim lCounter As Long, lFila As Long ' Establezco la conexión con la base de datos Set cnn = New Connection With cnn .Provider = "Microsoft.Jet.OLEDB.4.0" .ConnectionString = "Data Source=" & App.Path & "\Bd1.mdb" .Open End With ' Abro el recordset Set rs = New Recordset With rs .CursorLocation = adUseClient .CursorType = adOpenDynamic .LockType = adLockOptimistic .Open "SELECT * FROM [Socios]", cnn, , , adCmdText End With ' Creo una instancia de Excel Set objExcelApp = Excel.Application ' Creo un objeto WorkBook para establecer sus propiedades Set objExcelWorkBook = objExcelApp.Workbooks.Add ' Muestro Excel objExcelApp.Visible = True objExcelWorkBook.Windows(1).Visible = True ' Establezco el objeto Sheet con la primera hoja activa Set objExcelSheet = objExcelWorkBook.Sheets(1) ' Escribo los datos del Recordset en la hoja ' de trabajo With objExcelSheet ' Nombre de la hoja .Name = "Hoja de trabajo" ' Inserto el nombre de los campos en la primera fila For lCounter = 0 To rs.Fields.Count - 1 .Cells(1, lCounter + 1) = rs.Fields(lCounter).Name Next ' Inserto los datos de los registros a partir de la ' segunda fila rs.MoveFirst lFila = 2 ' Fila 2 Do For lCounter = 0 To rs.Fields.Count - 1 .Cells(lFila, lCounter + 1) = rs.Fields(lCounter) Next ' Siguiente fila lFila = lFila + 1 rs.MoveNext Loop Until rs.EOF End With ' Indico que el libro ya ha sido guardado objExcelWorkBook.Saved = True