.
Vemos hoy el primero de una serie de vídeos dedicados a Conectar Excel con Excel, ya sea con el mismo libro de Excel u otro libro de Excel, realizada la conexión, permite realizar consultas de datos que se verán a lo largo de estos vídeos dedicados al tema.
El poder conectar un libro de Excel con otro Libro Excel, permite realizar consultas sin abrir el libro como normalmente se hace con VBA, se utiliza para realizar las consultas, sentencias SQL.
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.
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.
if (payload.eventType == ‘subscribe’) {
// Add code to handle subscribe event.
} else if (payload.eventType == ‘unsubscribe’) {
// Add code to handle unsubscribe event.
}
if (window.console) { // for debugging only
window.console.log(‘YT event: ‘, payload);
}
}
Al utilizar SQL cada hoja del libro de Excel es tratada como una tabla, la primer fila se toma como la cabecera o titulo de las columnas, como si se tratara de una tabla de base de datos, si no tuviera cabecera de títulos es decir empezarán los datos directamente en la fila uno se debe indicar, en este caso tomará las columnas como F1, F2 y así sucesivamente.
En la conexión se usa ADO (Active Data Object) que es la forma más evolucionada de acceso de datos de Microsoft anteriormente era DAO (Data Access Object) posteriormente RDO (Remote Data Object), sirve para la implementación del accedos de datos OLE DB de Microsoft.
Quizá sea de utilidad también
Como conectar Excel con Word crear archivo e insertar texto
Como conectar Excel con Access usar sentencias SQL
Como conectar Excel con Word y modifica plantillas de Word para informes
⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛
⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛
Con la evolución de las tecnologías de Microsoft se ha ido modificando la forma de acceso así tenemos que para libro de Excel 2007 en adelante la conexión que se debe usar es:
La conexión para Libros Excel 2000 /XP /2003/ 2007 se debe usar es:
En el ejemplos que se presenta se conecta el un libro de Excel con el mismo libro de Excel, es decir las consultas se harán sobre datos de las hojas del mismo libro de Excel, con la sentencia siguiente expresamos el nombre del libro actual para poner como referencia.
ThisWorkbook.FullName
Si la hoja de Excel contiene cabecera de datos en la primer fila se debe usar:
HDR=Yes
De la forma anterior indicamos que la primer fila se usa para nombrar las columnas, ya que tengamos en cuenta que las sentencias SQL harán referencia a los nombres de las columnas.
En este ejemplo vimos como conectar un libro de Excel con el mismo Libro Excel, en los siguiente s post veremos como conectar con otro libro de Excel y realizar distintas consultas de datos, veremos los rápido y fácil que es obtener los datos con sentencias SQL en Excel, lo más complicado es armar el Where de la sentencia SQL, es decir el criterio de búsqueda.
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»)‘Excel 2007
cn.Open «Provider=Microsoft.ACE.OLEDB.12.0;» & «Data Source=» & ThisWorkbook.FullName & «;Extended Properties=»»Excel 12.0;HDR=Yes;»»»
‘Excel 2007 en adelante también funciona
‘cn.Open «Provider=Microsoft.Jet.OLEDB.4.0;» & «Data Source=» & ThisWorkbook.FullName & «;Extended Properties=»»Excel 8.0;HDR=Yes;»»»
‘Excel 2000 /XP 2003 / 2007
‘cn.Open «Provider=Microsoft.ACE.OLEDB.4.0;» & «Data Source=» & ThisWorkbook.FullName & «;Extended Properties=»»Excel 8.0;HDR=Yes;»»»
‘Excel 1995
‘cn.Open «Provider=Microsoft.ACE.OLEDB.4.0;» & «Data Source=» & ThisWorkbook.FullName & «;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
⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛
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»)
‘Excel 2007
cn.Open «Provider=Microsoft.ACE.OLEDB.12.0;» & «Data Source=» & ThisWorkbook.FullName & «;Extended Properties=»»Excel 12.0;HDR=Yes;»»»
‘Excel 2007 en adelante también funciona
‘cn.Open «Provider=Microsoft.Jet.OLEDB.4.0;» & «Data Source=» & ThisWorkbook.FullName & «;Extended Properties=»»Excel 8.0;HDR=Yes;»»»
‘Excel 2000 /XP 2003 / 2007
‘cn.Open «Provider=Microsoft.ACE.OLEDB.4.0;» & «Data Source=» & ThisWorkbook.FullName & «;Extended Properties=»»Excel 8.0;HDR=Yes;»»»
‘Excel 1995
‘cn.Open «Provider=Microsoft.ACE.OLEDB.4.0;» & «Data Source=» & ThisWorkbook.FullName & «;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
.
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