Seguro que mucho de nosotros ha tenido que importar un Archivo de Excel con VBA a una base de datos Access y al final se hace pesado, y por ello optamos a automatizarlo. Pues hoy les voy a explicar como desarrollar un aplicativo para importar automáticamente un Excel a Access automáticamente.
Leer: Exportar una Tabla o Consulta de Access a Excel
Pasos Para Importar archivo de Excel a Acces con VBA
Lo primero que debemos hacer es crear un formulario Microsoft Access nuevo y en este insertar un botón que ejecutar la consulta para importar el Excel. Después de ello, nos aseguramos que tenemos la referencia de Microsoft Excel, para ello vamos al menú Herramientas – Referencias y nos aseguramos que este activa la referencia Microsoft Office 11.0 Object Library. Este 11.0 o superior, seleccione la versión más nueva. Si esto no lo activamos, cualquier cosa que hagamos a continuación no funcionará.


Option Compare Database Private Sub Import_Excel_Click() ' Requires referencia a Microsoft Office 11.0 Object Library. Dim fDialog As Office.FileDialog Set fDialog = Application.FileDialog(msoFileDialogFilePicker) 'Configuramos el diálogo para elegir el archivo de Excel. With fDialog 'Configiramos la ruta inicial, que seá la misma de la ubicación del achivo Access. .InitialFileName = Application.CurrentProject.Path ' Permitimos a los usuarios seleccionar varios archivs .AllowMultiSelect = True ' Título del diálogo. .Title = "Seleccione uno o más archivos" ' Limpiamos los archivos actuales, para que se seleccione el archivo deseado. .Filters.Clear .Filters.Add "Excel", "*.xlsx" ' False, the user clicked Cancel. If .Show = False Then MsgBox "Ha cancelado la opración.", vbInformation, "Importar Excel a Access" GoTo x 'Vamos al final del procedimiento si se cancela la selecciónd e archivos. End If End With If (FileName = False) Then 'Comprobamos que se haya seleccionado correctamente el archivo. For i = 1 To fDialog.SelectedItems.Count FileName = fDialog.SelectedItems(i) 'Se asigna la rita de los archivos seleccionados de a cuerdo al loop 'También podemos exportar un ragon de celdas modificando lo siguiente: Especificamos las celdas con: celda_origen:celda_fin. DoCmd.TransferSpreadsheet acImport, 10, "import_excel", FileName, True, "Listado!A1:C3" Next i Else MsgBox "No ha seleccionado un archivo para procesar.", vbInformation, "Importar Excel a Access" End If x: Exit Sub End Sub
Aquí podrá encontrar los valores para identificar la versión de Excel que está utilizando. versiones de Excel
Documentación de Microsoft para importar archivos Excel a Access: Ver más…
Descargar…
[wpdm_package id=’5029′]