Macro para cambiar ruta de conexión de datos de Microsoft query

Solicito su ayuda o sugerencia para realizar la siguiente macro, tengo un libro en excel "Informe.xlsm" el cual obtiene datos de "libro.xls", deseo ejecutar la misma consulta desde otro pc al tener los 2 archivos en la misma carpeta, grabe una macro con el procedimiento para crear la consulta

Esta es parte de la macro

Sheets("PRUEBA").Select
With ActiveSheet.ListObjects.Add(SourceType:=0, Source:=Array(Array( _
"ODBC;DSN=Excel Files;DBQ=C:\Users\afelipeo\Desktop\libro1.xls;DefaultDir=C:\Users\afelipeo\Desktop;DriverId=1046;MaxBuffer" _
), Array("Size=2048;PageTimeout=5;")), Destination:=Range("$A$1")).QueryTable
estoy intentando modificar la parte de la ruta

DBQ=C:\Users\afelipeo\Desktop\libro1.xls

DefaultDir=C:\Users\afelipeo\Desktop

Para que se actualice según la ubicación del Informe.xlsm, e intentado reemplazando la ruta con
Consulta = ThisWorkbook.Path & "\Libro1.xls"
rutaConsulta= ThisWorkbook.Path

DBQ=Consulta
DefaultDir=rutaconsulta

Pero no funciona.

1 Respuesta

Respuesta
1

Prueba asi:

consulta = ThisWorkbook.Path & "\Libro1.xls"
rutaconsulta = ThisWorkbook.Path

Sheets("PRUEBA").Select
With ActiveSheet.ListObjects.Add(SourceType:=0, Source:=Array(Array( _
"ODBC;DSN=Excel Files;DBQ=" & consulta & ";DefaultDir=" & rutaconsulta & ";DriverId=1046;MaxBuffer" _
), Array("Size=2048;PageTimeout=5;")), Destination:=Range("$A$1")).QueryTable

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas