Cómo utilizar VBA para importar datos de Excel a Access

Después del parón obligado por Navidad volvemos con nuestro blog, hoy lo dedicamos a aprender mas cosas sobre Excel, recuerda que si te ha gustado lo que has leído compártelo!! Este articulo ha sido extraido de nuestro curso “Excel avanzado y programacion VBA”, el cual lo puedes consultar pinchando aqui.

Aprender a utilizar Visual Basic para aplicaciones para importar datos a Access puede hacer que su aplicación de base de datos más dinámico. En VBA , puede utilizar una combinación de objetos para abrir un libro de Excel existente e importar algunos datos a una tabla de Access. Utilice la biblioteca de objetos de Microsoft Excel en VBA para abrir el libro . El objeto Recordset se utiliza para abrir una tabla existente en el acceso y guardar los datos de Excel en el mismo. Usando VBA para importar datos puede reducir significativamente la cantidad de tiempo que pasa la importación de datos de forma manual.

Instrucciones:
1. Abrimos Microsoft Office Excel y escribimos ” datos1 ” en A2, y ” data2 ” en B2 . Pulsamos la tecla “Ctrl ” y ” S ” para abrir el “Guardar como” ventana de diálogo y guardamos el libro en “C: \\ Temp \\ ” as “. DataToImport.xlsx “.

2. Abrimos Microsoft Office Access , hacemos clic en “Base de datos en blanco ” y clic en el botón “Crear” . Hacemos clic en ” Herramientas de base de datos” y posteiormente clic en “Visual Basic ” para abrir la ventana del editor de VB hacemos clic en el menú ” Insertar” y luego clic en ” módulos” para insertar un nuevo módulo de código. Hacemos clic en el menú ” Herramientas”-> “Referencias “, y marcamos la casilla junto a ” biblioteca de objetos de Microsoft . ”

3. Ahora escribimos el siguiente código de VBA crear nuevo procedimiento sub :

Dim xlApp As Excel.Application
Dim xlBk As Excel.Workbook
Dim xlSht As Excel.Worksheet
Dim dbRst As Recordset
Dim dbs As Database
Dim sqlstr As String

Public Sub ImportPreVtas()

Set dbs = CurrentDb
Set xlApp = Excel.Application
Set xlBk = xlApp.Workbooks.Open(“F:\Proyectos\pruebappto.xlsx”)
Set xlSht = xlBk.Sheets(1)

sqlstr = “CREATE TABLE Exceldata(columnOne string, columnTwo string)”
DoCmd.SetWarnings False
DoCmd.RunSQL sqlstr
Set dbRst = dbs.OpenRecordset(“Exceldata”)
dbRst.AddNew
xlSht.Range(“A3”).Select
dbRst.Fields(0).Value = xlSht.Range(“A3”).Value
xlSht.Range(“B3”).Select
dbRst.Fields(1).Value = xlSht.Range(“B3”).Value
dbRst.Update
dbRst.Close
dbs.Close
xlBk.Close

End Sub

4. Presionamos “F5 ” para ejecutar el procedimiento.

  • Share:

Deja un comentario

Your email address will not be published.

Enviar un mensaje




Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.

ACEPTAR
Aviso de cookies