Inicio » VBA-Ejemplos » Importar tabla Access a Excel

Importar tabla Access a Excel

Aquí explicamos cómo importar una tabla de una base de datos Access, a una hoja Excel.

Esta maniobra también puede realizarse desde los menús del propio programa Access. ¿Pero qué pasa si tenemos que acceder a un archivo Access, y no tenemos el programa Access instalado? Entonces podemos recurrir al código VBA, y programar una macro.

Además, esta importación tarda poquísimo – muy interesante si importamos muchas tablas al día.

Código VBA

Sub Importar_Access()
 
'dimensiones
Dim datConnection As ADODB.Connection
Dim recSet As ADODB.Recordset
Dim strDB, strSQL As String
Dim strTabla As String
Dim lngTablas As Long
Dim i As Long
 
'elegir uno de estas dos rutas al archivo Access
strDB = ThisWorkbook.Path & "\" & "db.mdb"
'strDB = "C:\vba\db.mdb" 'si en otra carpeta

'nombre de la tabla del archivo Access
strTabla = "salarios_2003"
 
'crear la conexión
Set datConnection = New ADODB.Connection
Set recSet = New ADODB.Recordset
datConnection.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source =" & strDB & ";"
 
'consulta SQL
strSQL = "SELECT * FROM " & strTabla & ""
recSet.Open strSQL, datConnection
'copiar datos a la hoja
ActiveSheet.Cells(2, 1).CopyFromRecordset recSet
 
'copiar rótulos
lngCampos = recSet.Fields.Count
 For i = 0 To lngCampos - 1
  ActiveSheet.Cells(1, i + 1).Value = recSet.Fields(i).Name
 Next
 
'desconectar
recSet.Close: Set recSet = Nothing
datConnection.Close: Set datConnection = Nothing
 
End Sub