Muchos se preguntan como se hace un volcado masivo de informacion a excel sin pasar por el secuenciado que muchas veces se hace. Bueno les presentare un ejemplo practico que si funciona con las alternativas que se requiere para esto. Es muy util para la gente que sabe programar y los estudiantes. Una alternativa a tanto recordset y do while sin sentido.
Dim objExcel As Object = CreateObject("Excel.Application"
Dim SQL As String
SQL = "Select * from Registro where Nombres= 'charles' Order by Paterno"
Tabla.Open(SQL, Conn, ADODB.CursorTypeEnum.adOpenStatic)
If Not Tabla.EOF Then
ConectarExcel()
objExcel.Visible = True
objExcel.SheetsInNewWorkbook = 1
objExcel.Workbooks.Add()
objExcel.cells.Item(1, 1) = "Paterno"
objExcel.cells.Item(1, 2) = "Materno"
objExcel.cells.Item(1, 3) = "Nombres"
objExcel.cells.Item(1, 4) = "Sexo"
objExcel.cells.Item(1, 5) = "Direccion"
objExcel.cells.Item(1, 6) = "Comuna"
objExcel.cells.Item(1, 7) = "Region"
rem Aca le doy formato al encabezado antes del volcado
objExcel.Rows.Item(1).Font.Bold = 1
objExcel.Rows.Item(1).HorizontalAlignment = 1
End If
Rem El volcado en toda su magneficiencia
If Not Tabla.EOF Then objExcel.Range("A2"
.CopyFromRecordset(Tabla)
If Not Tabla.EOF Then
objExcel.Application.Visible = True
objExcel = Nothing
End If
Tabla.Close()
Les recomiendo copiar en su codigo las partes que logicamente le sirvan y complemente con los tips que les he dado. La ventaja de este codigo es que en cosa de milisegundos uds pueden pasar 100.000 registros de manera rapidisima. En el secuenciado solo pueden hacerlo hasta que termina de escribir en la hoja.
Dim objExcel As Object = CreateObject("Excel.Application"

Dim SQL As String
SQL = "Select * from Registro where Nombres= 'charles' Order by Paterno"
Tabla.Open(SQL, Conn, ADODB.CursorTypeEnum.adOpenStatic)
If Not Tabla.EOF Then
ConectarExcel()
objExcel.Visible = True
objExcel.SheetsInNewWorkbook = 1
objExcel.Workbooks.Add()
objExcel.cells.Item(1, 1) = "Paterno"
objExcel.cells.Item(1, 2) = "Materno"
objExcel.cells.Item(1, 3) = "Nombres"
objExcel.cells.Item(1, 4) = "Sexo"
objExcel.cells.Item(1, 5) = "Direccion"
objExcel.cells.Item(1, 6) = "Comuna"
objExcel.cells.Item(1, 7) = "Region"
rem Aca le doy formato al encabezado antes del volcado
objExcel.Rows.Item(1).Font.Bold = 1
objExcel.Rows.Item(1).HorizontalAlignment = 1
End If
Rem El volcado en toda su magneficiencia
If Not Tabla.EOF Then objExcel.Range("A2"

.CopyFromRecordset(Tabla)
If Not Tabla.EOF Then
objExcel.Application.Visible = True
objExcel = Nothing
End If
Tabla.Close()
Les recomiendo copiar en su codigo las partes que logicamente le sirvan y complemente con los tips que les he dado. La ventaja de este codigo es que en cosa de milisegundos uds pueden pasar 100.000 registros de manera rapidisima. En el secuenciado solo pueden hacerlo hasta que termina de escribir en la hoja.