PROGRAMAR EN VBA MACROS PARA EXCEL: Conectar Excel con Excel Conectar Con Otro Libro Excel

Conectar Excel con Excel Conectar Con Otro Libro Excel





Anteriormente vimos como conectar con el mismo libro de Excel, es decir la conexión se realizaba con mismo libro y se podía consultar datos de cualquier hoja de el mismo libro, en este ejemplo se muestra como conectar Excel con otro libro de Excel para poder extraer información.

Desde el final del post se puede descargar el ejemplo en forma gratuita sin ninguna restricción, el código se puede adaptar a cada necesidad, Aporta por favor para sostener el sitio si está dentro de tus posibilidades, desde ya muchas gracias.

Si te estás iniciando en la operación de Excel o requieres afirmar conocimientos, recomiendo leer un excelente libro sobre Excel que te ayudará operar las planillas u hojas de cálculo, haz click acá, si quieres aprender sobre Excel, en inglés, entonces debes hacer click here. Si lo que necesitas es aprender o profundizar sobre la programación de macros con VBA este es unos de los mejores cursos on line que he visto en internet.

  

El vídeo verás la macro en acción con una explicación más detallada de su codificación y funcionamiento, recomiendo observar para una más fácil comprensión de la macro; suscribe a nuestra web desde la parte superior derecha de la página ingresando tu mail y a nuestro canal de You Tube para recibir en tu correo vídeos explicativos sobre macros interesantes, como  por ejemplo Recorre fila buscando y comparando datos de dos columnas en hojas distintasbuscar en listbox mientras escribes en textbox, como crear una factura o sale invoice y grabar guardar PDF XLS y enviar por mail, trabajando con filas, celdas, columnas, rangos y muchos ejemplos más.









 


Con Excel 2016 o 365 la conexión que se usa para poder vincular con otro libro de Excel es la siguiente:

cn.Open "Provider=Microsoft.ACE.OLEDB.12.0;" & "Data Source=" & mybook & ";Extended Properties=""Excel 12.0;HDR=Yes;"""


En el post anterior se mostraron las distintas conexiones ADODB OLEDB que se usan con libros más viejos o mejor dicho realizado con versiones anteriores de Excel.


⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛
Quizá sea de utilidad también

Como crear una factura con excel, guardarla y enviarla por mail automáticamente


Como enviar mail con archivo Excel y PDF mediante Outlook con Excel

Como hacer un link o hiperlink a google maps con Excel

⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛



⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛

Se debe tener presente que al Conectar con otro libro de Excel, las hojas representan tablas de base de datos, es por ello que la primer fila se usa para nombrar a cada columna, necesaria para que las sentencias SQL hagan referencia a ellas, se debe fijar en HDR= yes si existe encabezado de columna y HDR=No si las columnas no tiene encabezado, en ese caso la hoja de Excel se tomará como una tabla de Base de Datos y cuyas columnas se denomnaran F1, F2, etc..

En la parte siguiente del código, cuando se requiere conectar con otro libro de Excel , es donde se debe poner la dirección del libro con el que se desea vincular:

Data Source=" & mybook 

Recordemos que cuando se vinculaba con el mismo libro Excel, la parte del código donde se escribe la dirección de la base de datos era:

Data Source=" & ThisWorkbook.FullName

Luego de vincular el libro se podrán usar las sentencias SQL para extraer información y los datos necearios de la base de datos o tablas que en este caso son cada una de las hojas de los Libros de Excel, en ejemplos siguientes veremos como crear sentencias SQL en Excel y como usarlas para extraer datos y sobre todo como usar los datos que se guardan en el recordset.

Código que se inserta en un módulo

Sub ConectarExcelconExcel()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Dim ctl As Object
Dim cn As ADODB.Connection, rs As ADODB.Recordset, sql As String
'On Error Resume Next
Set cn = New ADODB.Connection
Set rs = New ADODB.Recordset
Set a = Sheets("Hoja1")
Set b = Sheets("Hoja2")

mybook = ThisWorkbook.Path & "\Conectar Excel con Excel Consulta SQL Base Datos.xlsx"

'Excel 2007
cn.Open "Provider=Microsoft.ACE.OLEDB.12.0;" & "Data Source=" & mybook & ";Extended Properties=""Excel 12.0;HDR=Yes;"""

'Excel 2007 en adelante
'cn.Open "Provider=Microsoft.ACE.OLEDB.12.0;" & "Data Source=" & mybook & ";Extended Properties=""Excel 12.0;HDR=Yes;"""

'Excel 2000 /XP 2003 / 2007
'cn.Open "Provider=Microsoft.ACE.OLEDB.4.0;" & "Data Source=" & mybook & ";Extended Properties=""Excel 8.0;HDR=Yes;"""

'Excel 1995
'cn.Open "Provider=Microsoft.ACE.OLEDB.4.0;" & "Data Source=" & mybook & ";Extended Properties=""Excel 5.0;HDR=Yes;"""


MsgBox ("La conexión se realió con exito"), vbInformation, "AVISO"
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub

⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛


Si te fue de utilidad puedes INVITARME UN CAFÉ y de esta manera ayudar a seguir manteniendo la página, CLICK para descargar en ejemplo en forma gratuita.


If this post was helpful INVITE ME A COFFEE and so help keep up the page, CLICK to download free example.


Si te gustó por favor compártelo con tus amigos
If you liked please share it with your friends