RE:CREAR UN DOCUMENTO EXCEL
Hola Agustín. Realmente se puede crear una hoja de Excel a través de VB, però configurarla así te costará mucho código para hacerla presentable. Lo que yo te recomiendo es crear una hoja de cálculo desde Excel, darle el formato a las celdas para que quede bonito y llenar las celdas con un recordset que crearás desde el entorno de VB de Excel (Alt+F11). Una vez creada la hoja con todo el código para leer datos desde Excel, solo tendrás que poner un par de linias en tu aplicación VB para presentarla.
Este sería el código que utilizariamos en Excel en el evento WorkBook_Open (cuando se habre el libro). Piensa que tienes que referenciar la librería de ADO (Microsoft ActiveX Data Objects)
******
Option Explicit
Dim Rcd As ADODB.Recordset
Dim Wks As Worksheet
Private Sub Workbook_Open()
Dim b1, b2 As Integer
Set Wks = ThisWorkbook.Worksheets("Hoja1")
Set Rcd = New ADODB.Recordset
With Rcd
.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.3.51;" & _
"Persist Security Info=False;" & _
"Data Source=C:\NombreTabla;"
.CursorLocation = adUseClient
.CursorType = adOpenForwardOnly
.LockType = adLockReadOnly
.Source = "SELECT * FROM tabla"
.Open , , , , adCmdText
End With
b1 = 2 ' los datos empiezan en la fila 2
With Wks
' Primero pondremos los títulos en la primera fila,
' utilizaremos el nombre del campo de la tabla
For b2 = 1 To Rcd.Fields.Count
.Cells(1, b2).Value = Rcd.Fields(b2 - 1).Name
Next b2
While Rcd.EOF = False
' Ahora pondremos los datos
For b2 = 1 To