Copiar datos de Access a Excel de forma rápida
Publicado por lcflores en Abril 3rd 2007
Muchas veces tenemos la necesidad de copiar datos de una tabla o consulta Access a una hoja Excel. Este paso es sencillo, simplemente copiar y pegar. Copiamos los datos en Access y los pegamos en Excel, pero si el tamaño/cantidad de datos es grande esta operación puede dejar literalmente “tostado” nuestro ordenador durante varios minutos. Los minutos en los que se queda “tostado” variaran dependiendo de la cantidad de datos y la memoria RAM que tenga nuestro ordenador.
Afortunadamente existe una mejor solución para copiar datos de una tabla o consulta Access a Excel, es un poco más compleja, pero no mucho más. Vamos a crear una Macro y usar la función de VBA “Cells.CopyFromRecordset” para copiar tablas y consultas de Access en segundos.
Pasos:
1) Abrir Excel
2) Abrir el editor de Macros (Pulsar ALT+F11)
3) Copiar y pegar la siguiente Macro:
‘==========================================
Public Sub Copiar_Tabla_Access()
Dim oConexion As ADODB.Connection
Dim rsTabla As ADODB.Recordset
Dim sNombreTabla As String
Dim sNombreAccess As String
Dim i As Integer
sNombreAccess = InputBox(”¿Ruta y nombre del fichero Access?”)
If sNombreAccess <> “” Then
sNombreTabla = InputBox(”¿nombre de la tabla/consulta?”)
Set oConexion = New ADODB.Connection
oConexion.CursorLocation = adUseClient
oConexion.Open “PROVIDER=Microsoft.Jet.OLEDB.4.0;” & _
“Data Source=” & sNombreAccess & “;”
Set rsTabla = New ADODB.Recordset
rsTabla.Open “Select * From [” & sNombreTabla & “]”, _
oConexion, _
adOpenStatic
ActiveSheet.Cells.CopyFromRecordset rsTabla
ActiveSheet.Rows(”1:1″).Insert Shift:=xlDown
For i = 0 To rsTabla.Fields.Count - 1
ActiveSheet.Cells(1, i + 1).Value = rsTabla.Fields(i).Name
Next
rsTabla.Close
oConexion.Close
Set rsTabla = Nothing
Set oConexion = Nothing
End If
End Sub
‘==========================================
4) Guardamos los cambios.
5) Ahora ya podemos ejecutar la Macro para copiar los datos de una tabla o consulta Access en Excel. Abrimos la ventana de Macros en el Menú Herramientas > Macro > Macros (o pulsar ALT+F8).
6) Seleccionamos la Macro que hemos creado “Copiar_Tabla_Access” y pulsamos el botón “ejecutar“.
7) La Macro nos pedirá:
a) La ruta y el nombre del fichero Access, por ejemplo “c:\temp\miAccess.mdb”.
b) El nombre de la tabla o consulta, por ejemplo “miTabla”.
Ya hemos terminado.
Publicado en Access, Excel, Trucos | 18 Comentarios »
