Ir al contenido principal

obtener datos desde otro archivo de excel, con ADO

Ya hemos visto en repetidas oportunidades las consultas a fuentes de datos externas, con el objetivo de migrar hacia Excel registros que se encuentran almacenados fuera de dicha aplicación. Siempre la tarea se llevó a cabo mediante las opciones del menú "datos / obtener datos externos / " y sus respectivos items:

Aprendimos que el origen de esos registros pueden provenir de tablas en la web, Access, otro archivo de Excel.... hasta la forma de conectarnos con Access "colgado" de un servidor. Para repasar algunos de estos concepto, pueden hacer click aquí, que los llevará a la sección "datos" del blog.
[+/-] Ver el resto / Ocultar

Comentarios

  1. Hola Damian,
    Soy un usuario basico de exel,lo ocupo todo el dia,pero ahy cosas que me pregunto si se podran hacer
    tengo una inversiones que manejo en usd(dolar)
    y una consiliacion que me las muestra en peso chileno,todos los dias ve el valor del dolar y lo actualizo en mi hoja.como hacer que este valor se actualice automaticamente .espero que me puedas ayudar exelente aporte tu blog!

    ResponderEliminar
  2. Hola, estimado. Sin conocer los detalles de tu proyecto, estimo que se podría solucionar el tema con una consulta web. Dentro de la sección "Datos" podrás encontrar mas info al respecto.

    Te comento los pasos a seguir:
    1) ubicas en la web el sitio desde donde necesitas obtener la cotización del dolar o la moneda que requieras (ej: http://www.cotizacion-dolar.com.ar/).
    2) te vas a Excel y desde el menú "Datos/Obtener datos externos/nueva consulta web"
    3) en el formulario emergente ingresas la dirección web del punto 1. Este formulario es, en realidad, un pequeño navegador web.
    4) verás la página en cuestión y te vas hasta la tabla que tiene la cotización. Con el mouse haces click sobre la flecha amarilla (o verde) al comienzo de la tabla, seleccionándola.
    5) presionas el boton "importar"

    Listo. Este procedimiento detecta las tablas html y las importa a Excel, con lo cual tendrías a tu disposición todas las cotizaciones que necesites.

    Luego de del paso 5 te aparecerá un pequeño formulario que indica a partir de que celda querés colocar la tabla. Esto es muy útil, así la cotización del dolar te aparecerá siempre en la misma celda y podrás realizar cualquier cálculo con ella.

    En este ultimo formulario observarás también el boton "propiedades", con el cual tendrás muchas opciones de configuración y entre ellas una muy muy importante para vos: cada cuantos segundos queres que Excel actualice automaticamente los datos desde la web.

    Espero que estas líneas te sirvan. Cualquier duda avisame y gracias x tu mensaje.

    ResponderEliminar
  3. Saludos desde Medellín, Colombia.
    Se tiene un libro Excel bastante pesado y con fórmulas que usan referencias externas a otros archivos Excel. Se requiere agilizar su carga.

    Mi dudas son estas:
    1) ¿Sería mejor prescindir de las referencias externas (o remotas) y en lugar de ellas crear conexiones a esos otros archivos?
    ¿Tendrá esto un impacto positivo en el rendimiento?

    2) Para el usuario, que no sabe SQL, será mejor implementar las conexiones mediante el MS Query?

    Cualquier aporte es bienvenido.

    Muchas gracias.

    ResponderEliminar
  4. Javier: es un problema muy común el que estás teniendo: cuando existen muchas funciones dentro de un libro (y peor si hacen referencia a celdas/rangos de otro archivo), este se pone por demás de lento, pesado.
    Mi opinión (aunque debería conocer mas detalles sobre tu proyecto) es utilizar: "Datos/Obtener datos externos/Importar....", dando paso así a herramientas especializadas en esos asuntos.

    ResponderEliminar

Publicar un comentario

Entradas populares de este blog

funciones: convertir numeros a letras con excel

En realidad hace tiempo que vienen consultándome sobre esto... quizás cinco o seis años . Debe ser una de las funciones mas buscadas de Excel, por lejos: la posibilidad de escribir: 1.534,63 y que en una celda aparezca magicamente "un mil quinientos treinta y cuatro c/15/100". Aquí les dejo una solución, basada en funciones , sin utilizar macros, la cual preparé exclusivamente para este Blog. A pesar de los millones de usuarios que requieren esta herramienta, no viene incorporada en Excel, debemos armarla nosotros mismos .  Luego de la imagen irá la explicación de como llegué a lograr esto, dado que es un proceso medianamente complejo , que utiliza tres o cuatro funciones básicas y requiere de varios pasos. así quedará nuestra planilla y siempre devolverá en letras el valor que ingresemos en A1 [+/-] Ver el resto / Ocultar Desde ya aclaro: esta no es " la forma " de hacerlo, simplemente es una mas, evitando el uso de macros. Sobre esta base, comencemos: 1) El núme

macros: como enviar mails desde Excel (vba)

Un gran amigo "on-line", Johan Moreno, de Colombia , me hizo llegar la inquietud de cómo enviar mails desde Excel . Si bien contaba con algunas líneas de código sobre el particular, decidí retomar mi ejemplo y adaptarlo mejor a las circunstancias. Hace unos minutos termino de remitirle un correo con la solución a Johan... desde Excel y con un archivo adjunto, mismo que transcribo a continuación para ayudar a todos con esta tarea. Veamos primero las dos formas principales de enviar mails: mediante Outlook o nuestro Web Mail ( yahoo, gmail, hotmail, etc, etc ) No soy usuario de Outlook en lo absoluto: no confío en los agujeros de seguridad que continuamente aparecen y, por otro lado, t eniendo a mi alcance una herramienta tan poderosa (y gratuita) como Gmail, la cual ahora también permite sincronizar los mensaje con la Pc para verlos offline (deben activarlo en "google labs") ... no creo que me haga usuario ni hoy ni mañana. Igualmente mas adelante daré una solució

buscarv con varios resultados

Es de las preguntas mas recurrentes que he tenido: ¿se puede lograr que la función BUSCARV() devuelva varios resultados? Si recordamos el uso de esta función, sabremos que la misma buscar en valor en el rango especificado, retornando un solo resultado. Si en la tabla tenermos varios registros iguales BUSCARV() solo nos devolverá el primero de ellos, omitiendo el resto. Entonces ¿se puede? Bueno, aplicando otra técnica sencilla que se me ocurrió al intentar solucionar el planteamiento de un lector... si, puedo hacerlo.... pero sin usar BUSCARV(). la idea es que coloquemos en E1 el código del producto a buscar y a partir de E2 nos devuelva todas las coincidencias de la tabla. [+/-] Ver el resto / Ocultar Vamos a necesitar una columna "auxiliar" para llevar a buen término este proyecto. Con macros el tema sería mas sencillo, pero aquí la cuestión es resolverlo con las funciones de Excel, sin VBA. Paso a paso: Como primer medida chequeamos que valores de la columna A coincide co