Modify Excel files without open them using VBA and macros @EXCELeINFO

แชร์
ฝัง
  • เผยแพร่เมื่อ 15 ส.ค. 2018
  • ✅ Download the file | www.exceleinfo.com/macro-para-...
    🏆 Subscribe | goo.gl/M5zNA8
    The next macro that I share is based on a query I made in Blog. The question said:
    The idea is this: I have "n" files and all of them contain in cell E6 a value that I want to modify. I have the new values ​​in a list also in excel, which relates each file.
    Is there a way to record a macro to automatically change all the files instead of opening them one by one?
    It was then when I realized that I had seen before that users had that doubt, so I decided to make this article.
    More examples | www.exceleinfo.com
    More examples | blogs.itpro.es/exceleinfo
    Facebook Page | / exceleinfo
    Get notificacions on Telegram | t.me/EXCELeINFO
    Twitter | @EXCELeINFO
    Twitter | @SergioACamposH
    Download EXCELeINFO addin:
    addin.exceleinfo.com
    Photo by Hope House Press - Leather Diary Studio on Unsplash
    Impact Moderato by Kevin MacLeod is licensed under a Creative Commons Attribution license (creativecommons.org/licenses/...)
    Source: incompetech.com/music/royalty-...
    Artist: incompetech.com/

ความคิดเห็น • 95

  • @JATORable
    @JATORable 6 ปีที่แล้ว

    Gracias Sergio. Aprendemos nuevas cosas en forma sencilla. saludos

  • @MartinTorre72
    @MartinTorre72 5 ปีที่แล้ว

    Excelente herramienta. Gracias!!! me ha sido muy util

  • @geovannyfernandoaguilarmor9704
    @geovannyfernandoaguilarmor9704 8 หลายเดือนก่อน +2

    Buenas noches....este tipo de acciones se puede hacer en hojas protegidas y lo mas importante en archivo excel de macros... muchas gracias por tu ayuda....felicitaciones

  • @anferben
    @anferben 3 ปีที่แล้ว

    El detalle de abrir una instancia de Excel es lo que me faltaba para redondear una macro que uso. ¡Muchas gracias Sergio!

    • @mnl1
      @mnl1 2 ปีที่แล้ว

      Hola, solo una duda: ¿Por qué es necesario crear una instancia de Excel para esta macro?

  • @yavir7773
    @yavir7773 6 ปีที่แล้ว +2

    Maravilloso ejemplo Sergio, gracias.

  • @damiangabrielmontero
    @damiangabrielmontero ปีที่แล้ว

    Buenas noches, muy buenos tus videos, un pequeño atrevimiento, se podria agregar en el código: Range("A8", Range("A8").End(xlDown)).Select , para que directamente seleccione los rangos y no hacerlo manualmente y evitar posibles errores, por lo demás esta genial, se me ocurren muchas ideas de uso, muchas gracias por tu conocimiento, siempre se aprende algo nuevo, saludos y bendiciones.

  • @karimaugustotorressanchez4781
    @karimaugustotorressanchez4781 4 ปีที่แล้ว

    Funcionó super bien, nos ahorraste días de trabajo, muchas gracias

  • @hectoradriancantero9008
    @hectoradriancantero9008 2 ปีที่แล้ว

    Excelente, muchas gracias.

  • @lisandromartinez9359
    @lisandromartinez9359 2 ปีที่แล้ว +1

    Excelente. Todo me funciono perfecto te agradezco mucho

  • @salvadorsanchezsanchez2596
    @salvadorsanchezsanchez2596 2 ปีที่แล้ว +1

    Muy buen video, si se le puede sacar mucho provecho a trabajar archivos en segundo plano. Gracias.

  • @aguerojg
    @aguerojg 6 ปีที่แล้ว +1

    Muchas gracias por el video. Me parece que es para gente que ya tiene experiencia. ¿Que videos me recomendarias para iniciarme con macros?

  • @lemuar89
    @lemuar89 3 ปีที่แล้ว +2

    La macro está muy buena, sin bargo debo descargar varios archivos de una aplicación y cada uno viene con un nombre distinto, Ejemplo: la Hoja no se llama "Sheet1" sino que siempre trae un numero de serie distinto. No se como hacer para que laacro haga la modificación sin importar el nombre de la hoja. Muchas gracias.

    • @SergioAlejandroCampos
      @SergioAlejandroCampos  3 ปีที่แล้ว +1

      Qué tal Leonardo. Hay dos maneras de referencias hojas:
      Sheets("Nombre")
      Sheets(1)
      Cuando le ponemos el 1 u otro número, estamos diciendo que queremos trabajar con la hoja en ese orden. Si tu hoja tiene nombre cambiante, pero siempre es la primera, entonces ponle 1.

  • @orlandoasencio8733
    @orlandoasencio8733 2 ปีที่แล้ว

    Muy bueno

  • @TrucosAlday
    @TrucosAlday ปีที่แล้ว

    Hola qué tal Sergio!! La verdad me encantó tu video! Amo tu complemento, me sirve de muchísimas cosas! Solo tengo una duda, a mi me sirvió bien esta macro pero tengo un compañero que quiere copiar una hoja de un archivo a otros sin necesidad de estar abriendo cada uno para poder copiar la hoja. Él en total tiene 195 libros a los cuales les quiere insertar esa misma hoja, cómo le puede hacer?

  • @oscarsantos9251
    @oscarsantos9251 6 ปีที่แล้ว +1

    solo te digo Sergio esta genial.sal2 pulgar arriba.

  • @estaca.brownn4331
    @estaca.brownn4331 4 ปีที่แล้ว

    funciona de maravilla, solo tengo una duda, necesito modificar en todos los archivos la celda D5, ponienoles el valor que pego para cada linea en la columna B, no he logrado hacerlo funcionar, alguna idea de como hacerlo?

  • @ock2403
    @ock2403 3 หลายเดือนก่อน

    Hola Sergio. Me queda la duda, cuando se abre en segundo plano, el archivo se monta en la memoria ram, consumiendo los recursos de la aplicación gráfica?
    Estoy trabajando con una hojas de miles de registros, y pensaba justo en el segundo plano.
    Otra opción que he estado pensando es mejor hacerlo con pandas, asi, trabajo con los registros sin cargarlos en la interfaz gráfica.
    Saludos.

  • @Ruben-sg8gq
    @Ruben-sg8gq 4 ปีที่แล้ว

    Sergio muy útil pero como puedo renombrar las hojas de varios libros, que se encuentran en una carpeta sin tener que abrirlas una a una?

  • @cundialvarez5037
    @cundialvarez5037 ปีที่แล้ว

    Hola Sergio.
    Muchas gracias por el este video y por tu canal.
    Estaba buscando una macro para esto mismo.
    Los archivos (libros) los he generado con otra macro y me salen todos los anchos de columna iguales, necesito cambiar el ancho de alguna de ellas y no se como hacerlo.
    ¿me podrías explicar como usando esta macro puedo variar el ancho de la columnas?
    Muchas gracias.

  • @tomasmartinez2607
    @tomasmartinez2607 4 ปีที่แล้ว

    Buenas Sergio, y si tengo que introducir una función en vez de la palabra "prueba", me han surgido errores varios. Qué recaudos debo tener?

  • @mariomartell1635
    @mariomartell1635 ปีที่แล้ว +1

    Sergio, un gusto en saludarte, es posible cambiar la extensión de excel con macro a excel xlsx.? utilizando una macro para grabar el xlsx?

    • @SergioAlejandroCampos
      @SergioAlejandroCampos  ปีที่แล้ว +1

      Sí. En mi curso de macros tengo el tema del método SaveAs.

  • @miel2821
    @miel2821 ปีที่แล้ว +2

    Buen día! Alguien sabrá cómo puedo actualizar igual varios archivos pero son tablas dinámicas y tablas de power querry?

  • @IngeSebastianGarcia
    @IngeSebastianGarcia 5 ปีที่แล้ว

    Hola Sergio, muchas gracias por la explicación. Me gustaría comentarte lo siguiente: cuento con dos archivos de Excel (Libro Ventas y Libro de búsqueda). El Libro ventas contiene los registros de Fecha, Producto, Cantidad y Valor. Mientras tanto, el libro búsqueda es un archivo que se quiere utilizar para realizar consultas del libro ventas, es decir, va a contener un campo para digitar la fecha de búsqueda, un botón para ejecutar el código y un Listbox para arrojar la descripción de las ventas que correspondan a la fecha de búsqueda. Sin embargo, quisiera saber cómo podría actualizar o modificar el valor de una de las ventas que aparecen en el listbox. Por ejemplo: seleccionar uno de los resultados y escribir el nuevo valor y que se guarde en el archivo del Libro ventas. Quedo atento a tus comentarios, gracias.

  • @ricardoarenaza295
    @ricardoarenaza295 6 ปีที่แล้ว +1

    Hola. Gracias. No hay video tuyo en el que no aprenda algo nuevo.

  • @pegazo1404881
    @pegazo1404881 3 ปีที่แล้ว

    Yo tengo un caso similar, pero cómo hago para que los valores se copien en toda la columna adyacente, por ejemplo hay una base del A1:C10 y quiero que la macro me llene la columna con dstos en la columna "D", desde D1 hasta la D10. Espero 🤪 si me puedan comprender la consulta 😉

  • @rg4noobyt348
    @rg4noobyt348 2 ปีที่แล้ว

    Disculculpe ¿Como se puede copiar archivos de una carpeta a otra ruta distinta, desde un listado de excel? Es decir ya estan los archivos en lista de excel, esa misma lista de excel contiene la ruta raiz y destino a copiar

  • @carlosraitt5984
    @carlosraitt5984 3 ปีที่แล้ว

    Hola, yo quisiera aplicar tu vídeo con una macro que ya grabé, pero donde debería pegar o insertar dentro tu macro? Porque lo intente pero me da fallos...

  • @wilberchauca
    @wilberchauca 3 ปีที่แล้ว +1

    Hola Sergio, tengo un archivo con macros donde tambien los usuarios dejan informacion en hojas. Tengo otra macro que necesita actualizar la primera pero solo lo abre como de lectura y no deja salvar los cambios. Es posible tener abiertos dos archivos XLSM a la vez y actualizar uno o no?

    • @SergioAlejandroCampos
      @SergioAlejandroCampos  3 ปีที่แล้ว

      Revisa este video por favor: th-cam.com/video/RrS1I-Tgo2A/w-d-xo.html

  • @johandanielmaciascriollo3690
    @johandanielmaciascriollo3690 ปีที่แล้ว

    Como haces operaciones básicas con eso ? ya que solo deja poner numeros y letras

  • @anfesanv
    @anfesanv ปีที่แล้ว +1

    Hola, un cordial saludo, gracias por el video. Una duda, no lo puedo ejecutar porque las hojas de los archivos que intento modificar estan protegidas por contraseña (la cual conozco) ¿qué código se podría agregar para desproteger, editar y volver a proteger antes de cerrarlo?
    Gracias

    • @SergioAlejandroCampos
      @SergioAlejandroCampos  ปีที่แล้ว +1

      Ya tengo video con el título modificar celdas sin desproteger.

    • @anfesanv
      @anfesanv ปีที่แล้ว

      @@SergioAlejandroCampos Hola, estoy usando la macro de modificar celdas sin desproteger y funciona cuando la ejecuto desde el mismo libro, pero no funciona cuando la combino con la macro de editar varios libros de excel al tiempo, sí es posible unirlas? gracias

  • @TLNDALE
    @TLNDALE 3 ปีที่แล้ว +2

    Hola buenas tarde, cómo obtengo la opción de PROGRAMADOR? ya que en mi excel no tengo esa pestaña y no puedo continuar :(

    • @SergioAlejandroCampos
      @SergioAlejandroCampos  3 ปีที่แล้ว

      Archivo - Opciones - Cinta de opciones

    • @TLNDALE
      @TLNDALE 3 ปีที่แล้ว

      @@SergioAlejandroCampos mil gracias!!!! Ayudas muchísimo

  • @racingkinglukys
    @racingkinglukys 2 ปีที่แล้ว

    Muchas gracias, me es de gran utilidad. Solo tengo una duda, cuando intento correr la macro, me sale “Sub or function not defined” ¿A que se debe o como lo soluciono?

    • @celedonio8011
      @celedonio8011 2 ปีที่แล้ว

      Te hace falta la función de si está abierto el archivo

  • @alexmartinsanchezgarcia9865
    @alexmartinsanchezgarcia9865 ปีที่แล้ว

    si quisiera crear formato de tabla a cada archivo ¿como quedaría? Ayuda please..

  • @rhgr
    @rhgr 4 ปีที่แล้ว +2

    Hola Sergio me sale el siguiente error:
    Se ha producido el error '-2147319779 (8002801d)' en tiempo de ejecución:
    Error de Automatización
    La biblioteca de objetos no está registrada

  • @marnami3260
    @marnami3260 5 หลายเดือนก่อน

    Hola, para qué es la función que se pegó al final?

  • @gerardosilvs5210
    @gerardosilvs5210 4 ปีที่แล้ว

    En caso que quiera actualizar conexiones(queryes) de varios archivos en diferentes subcarpetas como se tiene que realizar?, las conexiones en query ya estan en cada archivo y se actualizan cada vez que se abre pero el servidor es lento y al abrir y cerrar los archivos se tarda demasiado hay alguna forma de solo actualizar las conexiones sin abrirlos

    • @racingkinglukys
      @racingkinglukys 2 ปีที่แล้ว

      Utiliza array para que tengas todas las carpetas

  • @MrPerrokalato
    @MrPerrokalato 6 ปีที่แล้ว +1

    Hola estimado ... Tengo varios archivos ..pero cada uno con hojas distintas ...necesito consilusar en uno solo ... Donde se inserte el nombrr de arvhivo ...graciss

    • @SergioAlejandroCampos
      @SergioAlejandroCampos  6 ปีที่แล้ว

      Hola. En la variable NombreArchivo pon entre comillas la ruta y nombre completos del archivo.

  • @Alexis-gy3cq
    @Alexis-gy3cq 5 ปีที่แล้ว

    Me aparecer error de compilación:
    "Sub o Function no definida" y se marca en amarillo "Sub"
    help

  • @tavogarcia489
    @tavogarcia489 ปีที่แล้ว

    Me sale error de compilacion no se definido Sub o Function. Me deja marcando Createobject. Como lo arreglo. Soy principiante. Gracias

  • @rubensantacruzmorel475
    @rubensantacruzmorel475 6 ปีที่แล้ว +2

    Buenas tardes maestro: Lo de For Each Celda "Selection" no me queda claro. En qué parte se eligió seleccionar lo de las tres filas ?
    Muchas gracias

    • @SergioAlejandroCampos
      @SergioAlejandroCampos  6 ปีที่แล้ว +1

      Hola Rubén. En la parte de Selection le estamos diciendo que recorra las celdas seleccionadas, que fueron las 3 celdas con los nombres.

    • @SergioAlejandroCampos
      @SergioAlejandroCampos  6 ปีที่แล้ว +1

      "por cada Celda en la Selección"

    • @rubensantacruzmorel475
      @rubensantacruzmorel475 6 ปีที่แล้ว +2

      Gracias por tu amable respuesta maestro. Mi confusión radica en que veo que las rutas están en las celdas A8, A9 y A10. En qué parte de la macro estamos apuntando a estas tres celdas ? Básicamente comprendo que están implícitas en "Selection". Pero cómo se han cargado ? Porque la siguiente línea ya recibe la asignación NombreArchivo = Celda.Value.
      Algo se me está escapando. Disculpe la "ceguera".

    • @SergioAlejandroCampos
      @SergioAlejandroCampos  6 ปีที่แล้ว +1

      El ciclo For each recibe una matriz de celdas y recorre una por una, la primera vez Celda equivale a A8 cuando llega al Next Celda recibe el valor de A9. Espero haberme explicado

    • @rubensantacruzmorel475
      @rubensantacruzmorel475 6 ปีที่แล้ว +2

      Muchas gracias de nuevo estimado Sergio. Comprendo que el ciclo For Each recibe la matriz de celdas y luego la recorre. En este mismo punto en qué parte se le ha asignado que empieza por A8 ? Ahí mismo es donde me pierdo. Porque por ejemplo la celda A7 está libre y por qué no empezó por ahí. Disculpe tanta insistencia.
      Estará acaso la respuesta a mi duda en el momento en que declaramos la variable Celda como un objeto ? Ud en su paciencia podría responderme que sí. Pero qué sucede realmente ?

  • @mictlantecuhtli69
    @mictlantecuhtli69 2 ปีที่แล้ว

    Excelente Tutorial, solo una pregunta: Como podemos hacerlo dinamico, para que se abran los archivos sin tener que escribir la ruta en un archivo.
    Gracias de antemano
    Saludos

    • @racingkinglukys
      @racingkinglukys 2 ปีที่แล้ว

      Hazlo con un array

    • @celedonio8011
      @celedonio8011 2 ปีที่แล้ว

      Hay varias formas pero si lo quieres dinámico tienes que abrir la caja diálogo para que elijas un archivo y de ahí obtienes la ruta al elegir cualquier archivo y entonces haces un barrido por cada archivo de excel que encuentre y ahí le mandas la macro del video

  • @gerardomartinezvicente2505
    @gerardomartinezvicente2505 2 ปีที่แล้ว

    Hola buen día, la macro me sirvió a la perfección, solo que tengo una duda, requiero cambiar fechas en gran volumen de archivos, esa macro facilitó esa tarea sin necesidad de abrirlos manualmente, pero resulta que las fechas las acomoda de menor a mayor solo cuando el día contiene algún cero, ejemplo:
    Fecha 07/02/2022 (día, mes, años)
    La macro lo acomoda así:
    Fecha 02/07/2022.
    Para que respete la fecha que requiero en los formatos lo tengo que colocar de la siguiente manera (mes, día, año), ej.
    Fecha 02/07/2022 (mes, día, año)
    La macro solo en ese caso realiza el formato que deseo. Ya aplicada la macro se visualiza:
    Fecha 07/02/2022 (día, mes, año)
    Solo si el día es mayor a 11, la macro respeta el formato día, mes, año
    Fecha 13/02/2022 (respeta ese formato).
    ¿Cómo puedo realizar el ajuste correcto?
    Para no tener que realizar el ingreso como mes, día, año, para que me arroje día, mes, año, cómo en primera instancia se desea.

  • @popercworld3435
    @popercworld3435 2 ปีที่แล้ว

    Si ya tengo una macro creada con las instrucciones que necesito ejecutar, cómo puedo hacer para indicarle a esta nueva macro que ejecute la macro previamente creada en cada uno de los archivos de la lista?

    • @popercworld3435
      @popercworld3435 2 ปีที่แล้ว

      Tengo un error al ejecutarla: Sub or function not defined

  • @sebastianvalbuena178
    @sebastianvalbuena178 2 ปีที่แล้ว

    hola me pareció super útil pero me sale el error que dice "no se encuentra la biblioteca archivo", cómo puedo solucionar esto ? me podrías indicar por favor .

  • @alvarorodriguezlasso
    @alvarorodriguezlasso 6 ปีที่แล้ว +1

    Gracias Sergio. Cuando está abierto el archivo a modificar se daña la macro

    • @SergioAlejandroCampos
      @SergioAlejandroCampos  6 ปีที่แล้ว

      A qué te refieres con que se daña la macro?

    • @alvarorodriguezlasso
      @alvarorodriguezlasso 6 ปีที่แล้ว +1

      Sergio Alejandro Campos - EXCELeINFO . Me refiero a que la macro se para ya que se genera un error en la función de validación de archivo abierto

    • @SergioAlejandroCampos
      @SergioAlejandroCampos  6 ปีที่แล้ว

      Ok, hago pruebas. Gracias.

  • @guillermoalfonsobernal5225
    @guillermoalfonsobernal5225 5 ปีที่แล้ว +1

    el archivo al ejecutarlo me indica erro en IsFileopen no se ha definido sub o function

    • @SergioAlejandroCampos
      @SergioAlejandroCampos  5 ปีที่แล้ว

      Has seguido los pasos tal cual? Ya probaste el archivo de ejemplo que pongo para descargar? Procura que la función esté en un módulo del mismo nombre al que muestro en el tutorial.

    • @guillermoalfonsobernal5225
      @guillermoalfonsobernal5225 5 ปีที่แล้ว +1

      Si profe descargue el primero ya que me interesa mas por que se puede realizar de manera directa, por que se copia la ubicación donde se encuentra el archivo, el otro cambio que estoy tratando de realizar es que en tu ejemplo lo realizar con un formato normal de excel y en mi caso lo estoy tratando de utilizar con un formato CSV no se si implica

    • @SergioAlejandroCampos
      @SergioAlejandroCampos  5 ปีที่แล้ว

      Me temo que es por el archivo CSV, que a fin de cuentas es un archivo de texto y aunque lo abras varias veces nunca verás un mensaje de que está abierto en otra parte.

  • @diegoguzman173
    @diegoguzman173 3 ปีที่แล้ว

    Error de Automatización La biblioteca de objetos no está registrada

  • @karimaugustotorressanchez4781
    @karimaugustotorressanchez4781 4 ปีที่แล้ว +2

    1700 archivos modificados en un par de horas, ¡la vida es bella! jajaja

    • @SergioAlejandroCampos
      @SergioAlejandroCampos  4 ปีที่แล้ว +1

      Karim, te animas a mandarme un vídeo de 20 segundos con este testimonio? Quiero lanzar un vídeo con sus testimonios.

    • @karimaugustotorressanchez4781
      @karimaugustotorressanchez4781 4 ปีที่แล้ว

      @@SergioAlejandroCampos dame oportunidad a salir del trabajo y te lo mando

    • @SergioAlejandroCampos
      @SergioAlejandroCampos  4 ปีที่แล้ว

      Aquí lo cargas por favor bit.ly/CursoMacrosTestimonio

  • @jaimaa1512
    @jaimaa1512 6 ปีที่แล้ว +1

    ya si ahora se puede modificar, manipular y hasta robarlos sin abrirlos.

  • @factorxscolombia
    @factorxscolombia 3 ปีที่แล้ว

    Me parece que da muchas vueltas para simplemente pegar un dato, además la opción isopenfile no está en VBA sino en VB. . porque no usar mejor la función Workbooks.Open(archivo) es menos engorrosa

  • @nebur609
    @nebur609 3 ปีที่แล้ว

    Pero si estás abriendo los libros al poner .Open -.-!

  • @rg4noobyt348
    @rg4noobyt348 2 ปีที่แล้ว

    Disculculpe ¿Como se puede copiar archivos de una carpeta a otra ruta distinta, desde un listado de excel? Es decir ya estan los archivos en lista de excel, esa misma lista de excel contiene la ruta raiz y destino a copiar