Importar y Exportar datos de Excel a Access

EXCEL A ACCESS: Proyecto creado en Excel con VBA, muy práctico y fácil de usar, y de implementarlo a tu medida, la función que tiene es que podrás enviar o guardar los datos que tengas en determinadas celdas de una hoja de cálculo a una base de datos Access sin complicaciones usando una conexión ADO y macros.

Lo primero que debemos de  tener es saber cuáles serán los campos a ingresar y para este ejemplo nos basaremos en el Registro de Clientes.  Usaremos las celdas “B4” será el Código Interno, “C4” nombre de Cliente, “D4” Importe valor de moneda, “E4” País de Cliente. Como lo vemos en esta Imagen;

Y la base de datos llevara el nombre de “BaseCliente.accdb” con una tabla llamada “CLIENTES” el cual tiene que estar en la misma ruta donde se encuentra este Ejemplo.

Usaremos este Código para Ingresar los datos a la base de datos de Access:

Private Sub ImportarDatos_Click()

Dim conectar As String

Dim sPath As String

Dim sql As String

Dim cn As ADODB.Connection

sPath = ThisWorkbook.Path & “\BaseCliente.accdb”

‘’’’Usaremos el Proveedor “12.0” ya que está habilitado para todas las versiones de Office:

conectar = “Provider=Microsoft.ACE.OLEDB.12.0;Data Source=” & sPath & “;Persist Security Info=False;”

Set cn = New ADODB.Connection

cn.Open conectar

sql = “insert into CLIENTES (NOMBREC, IMPORTEC, PAISC) values(‘” & Cells(3, 3).Value & “‘, ‘” & Cells(3, 4).Value & “‘, ‘” & Cells(3, 5).Value & “‘)”

cn.Execute sql

cn.Close

Set cn = Nothing

LimpiarRegistros

MsgBox “Datos Registrados con Exito”, vbInformation, “Excel a Access”

End Sub

Usaremos este otro Código para Exportar los datos Ingresados a Access a Excel:

Private Sub ExportarDatos_Click()

Dim conectar As String

Dim sPath As String

Dim sql As String

Dim cn As ADODB.Connection

Dim rs As ADODB.Recordset

sPath = ThisWorkbook.Path & “\BaseCliente.accdb”

‘’’’Usaremos el Proveedor “12.0” ya que está habilitado para todas las versiones de Office:

conectar = “Provider=Microsoft.ACE.OLEDB.12.0;Data Source=” & sPath & “;Persist Security Info=False;”

Set cn = New ADODB.Connection

cn.Open conectar

Set rs = New ADODB.Recordset

With rs

.CursorLocation = adUseClient

.CursorType = adOpenStatic

.LockType = adLockOptimistic

End With

sql = “select * from CLIENTES”

rs.Open sql, cn

Range(“B8”).CopyFromRecordset rs

rs.Close

cn.Close

Set rs = Nothing

Set cn = Nothing

End Sub

Espero de que este archivo te ayude como base ya que el código está bastante fácil y práctico, y si ha parecido interesante y lo quieres obtener tendrás la oportunidad de descárgalo con solo dar click en el link de abajo.

Desde aquí podrás Descargar el Archivo de Ejemplo.

Demostración de este Ejemplo y la función cumple:    VER VÍDEO

Password para desbloquear código fuente: “aguirre2018


  https://goo.gl/iQRzhu “Canal de Aguirre”

  https://goo.gl/FS4UcZ “Canal MacroExcel” Próximamente todos los vídeos disponibles aquí”

  https://goo.gl/qKpNFe “Pagina Oficial MacroExcel”

  https://goo.gl/cQQ7Gi “Facebook MacroExcel – ME”
❗Recuerda también: contamos con un grupo privado síguenos y envíanos la solicitud si deseas ayuda y aportar en la comunidad “MacroExcel – ME”

 

Categorías: Macros

2 commentarios

Manuel · mayo 5, 2018 a las 2:55 pm

Hola estimado, super claro la explicacion y un metodo rapido y agil para trabajar con excel y access, por lo que me gustaria si me puedes ayudar con unos datos que tengo en excel y me gustaria guardar en acces pero seguir trabajando de excel ya que con las macros que tiene es super rapido, pero tengo cada dia mas informacion por lo que se a pueso muy lento. De antemano gracias

Julio · agosto 19, 2018 a las 1:15 pm

de antemano agradecer por los conocimientos compartidos, quisiera que en el ejemplo importe y exporte el mismo rango donde están los datos… Por ejemplo se guarde en el access del rango B8:E22 y luego se retorne lo guardado en el access a ese mismo rango en el excel. Gracias.

Deja un comentario

WhatsApp Necesitas Ayuda?
A %d blogueros les gusta esto: