Foros del Web » Soporte técnico » Ofimática »

Actualizar ruta de datos externos en Excel

Estas en el tema de Actualizar ruta de datos externos en Excel en el foro de Ofimática en Foros del Web. Hola. Es posible cambiar la ruta de una fuente externa para que Excel busque los datos alli? Por ejemplo, actualmente tengo un Excel que va ...
  #1 (permalink)  
Antiguo 25/09/2009, 10:41
Avatar de Snd234  
Fecha de Ingreso: mayo-2007
Ubicación: Frente al PC
Mensajes: 413
Antigüedad: 17 años
Puntos: 2
Actualizar ruta de datos externos en Excel

Hola.

Es posible cambiar la ruta de una fuente externa para que Excel busque los datos alli?

Por ejemplo, actualmente tengo un Excel que va a buscar datos a una Access ubicado en la misma ruta del Excel. Con estos datos actualizo una tabla dinamica. El problema es que los datos cambian y para eso se genera un nuevo Access, entonces queria saber si se puede cambiar esa referencia que tiene el Excel al archivo A por el archivo B de una forma facil, sin necesidad de hacerlo manualmente siempre.
__________________
KIBIT.cl
  #2 (permalink)  
Antiguo 26/09/2009, 13:50
Avatar de mrocf  
Fecha de Ingreso: marzo-2007
Ubicación: Bs.As.
Mensajes: 1.103
Antigüedad: 17 años, 1 mes
Puntos: 88
Respuesta: Actualizar ruta de datos externos en Excel

Hola! Snd234.
¿De qué manera tu archivo Excel refiere al archivo Access?
Trata de ser muy claro y amplio en tu comentario porque es la "clave" de la solución.

Saludos, Cacho.
  #3 (permalink)  
Antiguo 05/10/2009, 12:23
Avatar de Snd234  
Fecha de Ingreso: mayo-2007
Ubicación: Frente al PC
Mensajes: 413
Antigüedad: 17 años
Puntos: 2
Respuesta: Actualizar ruta de datos externos en Excel

En el archivo Excel tengo una hoja con Datos, y otras con tablas dinamicas que obtienen informacion de esta hoja Datos. El tema es que los datos estan siendo mas de los 65.000 que soporte Excel, por lo que necesito insertarlos en un archivo Access, y de alli obtener los datos.

La referencia que hace Excel a Access es a travez de las tablas dinamicas. Al momento de crearla le indico que los datos provienen de una fuente externa. El problema es que esta fuente de datos (Access) varia, entonces necesito una forma de poder cambiarla de forma mas facil, ya sea usando una macro u otra herramienta.
__________________
KIBIT.cl
  #4 (permalink)  
Antiguo 05/10/2009, 18:28
Avatar de mrocf  
Fecha de Ingreso: marzo-2007
Ubicación: Bs.As.
Mensajes: 1.103
Antigüedad: 17 años, 1 mes
Puntos: 88
Respuesta: Actualizar ruta de datos externos en Excel

Quizás te convenga:

a) Activar la grabadora de macros
b) Hacer todos los pasos, movimientos y selecciones que estás realizando ahora para cambiar el origen de los datos externos.
c) Al terminar, puedes analizar el código generado... y adecuarlo a tus necesidades.

¿Cómo estás en ese tema de las macros?
  #5 (permalink)  
Antiguo 06/10/2009, 09:46
Avatar de Snd234  
Fecha de Ingreso: mayo-2007
Ubicación: Frente al PC
Mensajes: 413
Antigüedad: 17 años
Puntos: 2
Respuesta: Actualizar ruta de datos externos en Excel

Ya lo intente. El problema que la macros actualiza la conexion e incluye en varias partes la ruta del archivo, y tambien incluye la consulta para obtener los datos.

Existe una forma mas "facil" que solo tenga que indicar la nueva ruta de la fuente de datos?
__________________
KIBIT.cl
  #6 (permalink)  
Antiguo 06/10/2009, 09:52
Avatar de caesar.l  
Fecha de Ingreso: febrero-2007
Ubicación: Aguascalientes, México
Mensajes: 1.439
Antigüedad: 17 años, 2 meses
Puntos: 91
Respuesta: Actualizar ruta de datos externos en Excel

Pues en excel hay un comando como ActiveWorkbook.Path ha de existir algun equivalente en access
__________________
Yo solo sé, que no sé nada...
  #7 (permalink)  
Antiguo 06/10/2009, 10:55
Avatar de mrocf  
Fecha de Ingreso: marzo-2007
Ubicación: Bs.As.
Mensajes: 1.103
Antigüedad: 17 años, 1 mes
Puntos: 88
Respuesta: Actualizar ruta de datos externos en Excel

Por supuesto que existe una forma más sencilla (como pides)...

Pero como no has publicado el código VBA obtenido, torna muy difícil orientarte "en el aire", o sea: adivinando tu estructura de datos y conformación de carpetas.
  #8 (permalink)  
Antiguo 06/10/2009, 11:03
Avatar de 3pies
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Desde una destilería
Mensajes: 2.584
Antigüedad: 20 años, 4 meses
Puntos: 144
Respuesta: Actualizar ruta de datos externos en Excel

Cita:
Iniciado por Snd234 Ver Mensaje
Existe una forma mas "facil" que solo tenga que indicar la nueva ruta de la fuente de datos?
Puedes usar un inputbox, para preguntar la ruta. Incluso puedes ahorrarte la parte más larga de la ruta, preguntando solo la carpeta final y el nombre del fichero (el resto de los datos, ya los tendrías predeterminados). Pasas ese dato a una variable, y listo, ya tienes la ruta y el nombre del fichero al que acceder, sin necesidad de tocar el código.
  #9 (permalink)  
Antiguo 07/10/2009, 08:19
Avatar de Snd234  
Fecha de Ingreso: mayo-2007
Ubicación: Frente al PC
Mensajes: 413
Antigüedad: 17 años
Puntos: 2
Respuesta: Actualizar ruta de datos externos en Excel

Lo solucione de la siguiente forma:

Cree una macros que actualizara el origen de datos de todas las tablas dinámicas que contiene las hojas del reporte.

Código:
Range("A3").Select
    ActiveSheet.PivotTableWizard _
    SourceType:=xlExternal, _
    SourceData:=Array("SELECT * FROM [" + Ruta + "\" + Archivo + "].Detalle"), _
    Connection:=Array( _
        Array("ODBC;DSN=MS Access Database;DriverId=25;"), _
        Array("DBQ=" + Ruta + "\" + Archivo + ".mdb;"), _
        Array("DefaultDir=" + Ruta + ";"), _
        Array("FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;") _
    )
Las variables Ruta y Archivo, como su nombre lo indica, contiene la ruta del Access (que es la misma donde esta el reporte) y el nombre del Access (el mismo que el del reporte)

Código:
Dim Ruta As String
    Dim Archivo As String
    
    Ruta = ActiveWorkbook.Path
    Archivo = ActiveWorkbook.Name
    Archivo = Mid(Archivo, 1, Len(Archivo) - 4)
__________________
KIBIT.cl
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:22.