Macro en Excel para importar y unir múltiples archivos - TUTORIAL COMPLETO

Поделиться
HTML-код
  • Опубликовано: 15 дек 2024

Комментарии • 132

  • @losmonteblanco
    @losmonteblanco Год назад

    ¡Buena la lección, definitivamente si es mejor como lo mencionas en otro tutorial, es mucho más práctico hacerlo con Power Query, gracias!

  • @Sbastianb30
    @Sbastianb30 10 месяцев назад

    Gracias me ayudaste con un reto que me pusieron en el trabajo y salieron mas ideas, gracias muchas gracias de verdad

    • @InteligenciaEficiente
      @InteligenciaEficiente  10 месяцев назад

      ¡Me alegra mucho leer tu comentario Sebastián! Un saludo :D

  • @camilitagamer374
    @camilitagamer374 Год назад

    Gran tutorial excelente video, todos los éxitos

  • @alr3001
    @alr3001 3 месяца назад

    Muchas gracias! Me ayudo muchisimo. Para mayor cantidad de datos, declarar la variable ultimaFila como "long".

    • @InteligenciaEficiente
      @InteligenciaEficiente  3 месяца назад

      ¡Gracias por comentar! Es correcto, con long evitamos el error overflow :D

  • @profesuaste
    @profesuaste Год назад

    Me sirvió, excelente, muchas gracias.

  • @Aranzeibol_Asier
    @Aranzeibol_Asier 2 месяца назад

    Muy buen trabajo con este modulo, me ha venido muy bien. Grandisimo trabajo. desconocía el FSO. Me gustaría unir este proyecto junto con el tuyo de "BUSCAR, SELECCIONAR y OBTENER la ruta de un ARCHIVO | CARPETA desde VBA - Excel" en el cual utilizas fd como un dialogo de aplicación. en este video podría dar a la variable "directorio" como lo haces con el aplicationFileDialogFolderPicker?.
    Muchísimas gracias de antemano

    • @InteligenciaEficiente
      @InteligenciaEficiente  Месяц назад

      ¡Hola! Muchas gracias por comentar, sí, es correcto, puede hacer la implementación de la funcionalidad para poder seleccionar el directorio desde el FileDialog, si tiene inconvenientes no dude en contactarme al correo que dejo en la descripción del video. ¡Saludos!

  • @marylandcarvajal9909
    @marylandcarvajal9909 9 месяцев назад

    Bastante buena 👍 ❤

  • @josemontes8621
    @josemontes8621 5 месяцев назад

    excelente video, muy buena herramienta muchas gracias!! Pero tengo una pregunta cuando se ejercita y trate todos los archivos por que parece que los incluye solo a la mitad algunos y otros completos

    • @InteligenciaEficiente
      @InteligenciaEficiente  5 месяцев назад

      ¡Hola! esto puede deberse a que existen valores en blanco que impiden que la macro conozca el tamaño real del dataset. Para eso sería necesario usar otro método para el cálculo de última fila y columna. En este video muestro otros métodos para hacer este cálculo que podrían ayudarte. ¡Saludos! ruclips.net/video/txW9ZR5OoLc/видео.htmlsi=yLxbi1Lg-jPj0K6-

  • @CarlosAlfredoTrejoGonzal-op9ni

    Hola está muy bien tu explicación pero si yo quisiera hacer de ese archivo de Excel jalar todas las hojas que tengo en un mismo archivo se puede ya que solo aquí te jala la primera hoja pero si tuviera más hojas de Excel en ese archivo como le puedo hacer?

  • @claulino30
    @claulino30 5 месяцев назад

    Hola muchísimas gracias por la asesoría! Tengo un tema adicional, solo quiero copiar las celdas visibles. Como puedo hacerlo?

    • @InteligenciaEficiente
      @InteligenciaEficiente  4 месяца назад

      ¡Hola! Para las celdas visibles podemos usar la propiedad SpecialCells(xlCellTypeVisible) Acá te dejo un video donde usamos esa propiedad. ruclips.net/video/snBwgvNKoOI/видео.htmlsi=j60I9_yMOr0HS1ih ¡Saludos!

  • @alpema80
    @alpema80 Год назад

    Muchas gracias por tan excelente video. Una pregunta, còmo puedo colocar el fondo del vba con las caractersiticas que usted lo tiene? es decir, fondo negro y con le tras en colores? Gracias

    • @InteligenciaEficiente
      @InteligenciaEficiente  Год назад +1

      ¡Hola Alex! te dejo este video, espero que te sirva: ruclips.net/video/vLjRBBAX72A/видео.html&ab_channel=SergioAlejandroCampos-EXCELeINFO

  • @criscrash5638
    @criscrash5638 Год назад

    Muchas por tus conocimientos Amigo.
    Un favorzote, que instrucciones se le puede dar a la macro para que abra los archivos en orden y no los revuelva al momento de copiarlos en la hoja destino.
    saludos....

    • @InteligenciaEficiente
      @InteligenciaEficiente  Год назад

      Hola! Se tendría que cambiar un poco el método para puedas seleccionar los archivos directamente y el orden en el que los hayas seleccionado será el orden en el que los va a insertar, si necesitas ayuda puede contactarme a inteligenciaeficienteYT@gmail.com

  • @dijhonsdeveloper4785
    @dijhonsdeveloper4785 2 года назад

    Muchas gracias, en la empresa me pidieron realizar esto y la verdad, no lo tenia claro...

  • @marisolmendez7912
    @marisolmendez7912 2 года назад +1

    Hola buenas noches, Genial este vídeo y admiro tu conocimiento.
    Pero quisiera tu ayuda, puedes agregarle algo al código para que al unir los archivos deje registros únicos ya que los duplicados sobran y aun mejor seria que al ejecutar la macro y unir los archivos agregara únicamente lo nuevo y no volviera a pisar lo ya unificado.
    Mil Gracias.

    • @InteligenciaEficiente
      @InteligenciaEficiente  2 года назад

      Hola Marisol, lo que se me ocurre es que al final de pegar los registros, se ejecute un comando que elimine los duplicados, algo así Sheets("TuHojaAqui").Range("A1").CurrentRegion.RemoveDuplicates ¡Saludos!

  • @jorgeatienza2918
    @jorgeatienza2918 2 года назад

    Hola, gracias por el video, muy útil!
    Mi duda es, si tengo los CSV con punto y coma como separadores en lugar de comas sabrías decirme como puedo actualziarlo para que la separación sea correcta?
    gracias!

    • @InteligenciaEficiente
      @InteligenciaEficiente  2 года назад

      Hola Jorge, hay una función que se llama Texto a columnas, podrías seguir todo este video y ya que tengas la información consolidada realizar la conversión de texto a columnas, te dejo aquí un link support.microsoft.com/es-es/office/dividir-texto-en-diferentes-columnas-con-el-asistente-para-convertir-texto-en-columnas-30b14928-5550-41f5-97ca-7a3e9c363ed7 también podrías seguir las instrucciones de este video ruclips.net/video/91zkI1bvk9s/видео.html revísalo y elige la opción que más te convenga, saludos!!

  • @yunesreyesmarcoantonio3371
    @yunesreyesmarcoantonio3371 2 года назад

    Qué buen video, gracias!!, Disculpa y si en lugar de una carpeta quiero seleccionar el archivo desde distintas rutas, ¿Cómo seria?.

    • @InteligenciaEficiente
      @InteligenciaEficiente  2 года назад

      Hola Yunes! Si deseas una asesoría más personal puedes escribirme a: inteligenciaeficienteyt@gmail.com SALUDOS!!

  • @dijhonsdeveloper4785
    @dijhonsdeveloper4785 2 года назад +1

    Buen día, gracias por tus comentarios, ya la macro esta funcionando con los cambios indicados en el servidor del cliente, sabes como puedo hacer para que después de unificar los archivos elimine, lo que esta dentro de la carpeta 'Archivos', en una semana tengo mas de 500, y tengo que ingresar y eliminar manualmente. Gracias por tanta colaboración.

    • @InteligenciaEficiente
      @InteligenciaEficiente  2 года назад

      Para eliminar los archivos bastará con agregar la línea: fsoFile.Delete dentro del cilo For Each de tal manera que se vea así
      👇
      For Each fsoFile In fsoFolder.Files
      Workbooks.Open (fsoFile.Path)
      Set libroCopiado = Workbooks(fsoFile.Name)
      Set hojaCopiada = libroCopiado.Sheets(1)
      Call copiarDatos(hojaCopiada, estaHoja, encabezados)
      encabezados = False
      libroCopiado.Close SaveChanges:=False
      fsoFile.Delete
      Next

    • @dijhonsdeveloper4785
      @dijhonsdeveloper4785 2 года назад

      @@InteligenciaEficiente Gracias infinitas, por tanta colaboración

    • @dijhonsdeveloper4785
      @dijhonsdeveloper4785 2 года назад

      @@InteligenciaEficiente muchas gracias, funciono.

  • @nathashaprieto3159
    @nathashaprieto3159 2 года назад

    Hola, excelente video, gracias.
    Aprovecho de hacerte una consulta, si quiero copiar sólo ciertas columnas (por ejemplo la D, E y G de todos los archivos) me podrás ayudar con cómo modifico el código?

    • @InteligenciaEficiente
      @InteligenciaEficiente  2 года назад

      Hola Natasha, se me ocurre que podrías ocultarlas primero y después copiar y pegar solo las celdas visibles, si gustas puedes mandarme tu macro a inteligenciaeficienteyt@gmail.com para poder revisar tu caso, saludos!!

  • @grijalvaescobedo158
    @grijalvaescobedo158 2 года назад

    Me pareció excelente lo voy a descargar nuevo suscriptor 2 pregunta cuando quieres ingresar otro archivo tiene que estar en la carpeta otra pregunta que nombre tienen que tener los archivos o basta que que estén en una carpeta son detalles que no me quedaron claros lo que si se es que tienen que tener las mismas columnas como los encabezados es así o que otro inconveniente o que limitantes tienen esta macro comentaste que lo dejáramos en los comentarios y estas son mis dudas te agradecería si nos apoyaras a la comunidad por otra parte muchas bendiciones a tu canal abrazos desde León Guanajuato 🇲🇽👌👏🤝

    • @InteligenciaEficiente
      @InteligenciaEficiente  2 года назад

      ¡Hola! En cuanto a los nombres no hay limitantes. Como bien lo mencionas, basta con que estén en la misma carpeta y en cuanto a lo de las columnas esa sí es una limitante de esa macro, debe de tener los mismos encabezados. ¡Saludos! :D

    • @cantospropuestos2024
      @cantospropuestos2024 Год назад

      Si los archivos para unir tienen las mismas columnas y titulos, entonces sugiero consolidar la información de la siguiente forma:
      1.- Los archivos a unir deben de estar en una misma carpeta.
      2.- Solamente deben de estar esos archivos, ni uno otro y ningún otro tipo de archivos, ni siquiera alguno comprimido.
      3.- Las hojas donde esté la información a unir deben de tener el mismo nombre (diferentes archivos, mismos nombres de las hojas)
      4.- Desde un archivo nuevo de Excel seleccionar::: DATOS; OBTENER DATOS; DE UN ARCHIVO; DE UNA CARPETA; seleccionar la carpeta donde están los archivos a unir; al abrirla aparece la frase: "Ningún elemento coincide con el criterio de búsqueda", damos clic en "Abrir"; COMBINAR Y TRANSFORMAR DATOS; seleccionar la hoja donde están los datos a unir; ACEPTAR.
      Listo, queda unida la información de las diferentes hojas.
      Desde luego, esta es una forma muy general de unir la información.
      Yo la uso para unir la información de los pagos del SUA de una empresa con más de 200 registros patronales, entonces son más de 200 pagos por cada uno de los 12 meses del año.
      Por cualquier duda o información adicional, quedo atento 👍🏽

  • @silveriorafaelesquivel2438
    @silveriorafaelesquivel2438 9 месяцев назад

    Buena tarde. Disculpa y que pasa si en el "archivoOrigen" hay filas en blanco pero mas abajo hay mas datos?, como podrias llevarte eso?

    • @InteligenciaEficiente
      @InteligenciaEficiente  9 месяцев назад

      ¡Hola! Cuando tenemos un caso como este, se recomienda usar otro método para el cálculo de la última fila, te comparto este video donde muestro otras maneras de calcular la última fila y justamente presento ese caso donde hay filas en blanco. Saludos: ruclips.net/video/txW9ZR5OoLc/видео.htmlsi=8mgWdWtejhTu3X8j

  • @etudelas
    @etudelas 3 года назад

    Genial muchas gracias

    • @InteligenciaEficiente
      @InteligenciaEficiente  3 года назад +1

      ¡Gracias a ti! :D

    • @etudelas
      @etudelas 3 года назад

      @@InteligenciaEficiente amigo como te puedo ubicar para que me ayudes con un pequeño trabajo freelance. Estoy trabado y necesito orientacion. Ayuds remunerada logicamente. Quedo atento. Gracias de antemano

    • @InteligenciaEficiente
      @InteligenciaEficiente  3 года назад +1

      @@etudelas Claro que sí con gusto, puedes enviarme mensaje a la página de fb: facebook.com/InteligenciaEficiente

    • @etudelas
      @etudelas 3 года назад

      @@InteligenciaEficiente muchas gracias. Lo haré

  • @josecarloslozano8419
    @josecarloslozano8419 2 года назад

    Hola, estan excelentes tus videos, una pregunta si deseo unir 5 hojas en lugar de solo 1 de ellas como deberia configurar la macro.

    • @InteligenciaEficiente
      @InteligenciaEficiente  2 года назад +1

      ¡Muchas gracias por tu comentario José! Con solo unas cuantas adaptaciones se puede hacer para la cantidad de hojas que desees, además de darte la solución te explicaré las modificaciones que debes hacer para así ayudar a todas las personas interesadas en un futuro. Ahí va la explicación, Originalmente tenemos esta sección en el código (es la que se verá afectada para lograr incorporar más hojas).
      encabezados = True
      Set estaHoja = ThisWorkbook.Sheets(1)
      estaHoja.Cells.Clear
      For Each fsoFile In fsoFolder.Files
      Workbooks.Open (fsoFile.Path)
      Set libroCopiado = Workbooks(fsoFile.Name)
      Set hojaCopiada = libroCopiado.Sheets(1)
      Call copiarDatos(hojaCopiada, estaHoja, encabezados)
      encabezados = False
      libroCopiado.Close SaveChanges:=False
      Next

    • @InteligenciaEficiente
      @InteligenciaEficiente  2 года назад +1

      Pues bien, lo primero que haremos será cambiar el orden de Set estaHoja = ThisWorkbook.Sheets(1) con el fin de que quede dentro del ciclo ya que estaremos cambiando su valor cada vez que queremos copiar una nueva hoja por lo que quedará así en primer lugar.
      encabezados = True
      estaHoja.Cells.Clear
      For Each fsoFile In fsoFolder.Files
      Workbooks.Open (fsoFile.Path)
      Set libroCopiado = Workbooks(fsoFile.Name)
      Set estaHoja = ThisWorkbook.Sheets("Hoja1") ' < ---- Cambiamos el orden de esta línea
      Set hojaCopiada = libroCopiado.Sheets(1)
      Call copiarDatos(hojaCopiada, estaHoja, encabezados)
      encabezados = False
      libroCopiado.Close SaveChanges:=False
      Next

    • @InteligenciaEficiente
      @InteligenciaEficiente  2 года назад +1

      Lo que haremos ahora será repetir la sección x el número de veces que desees copiar hojas así que si deseamos copiar 3 hojas debemos copiar estas líneas 3 veces y cambiar el nombre que aparece entre comillas, por ejemplo quiero unir las hojas con nombre "Hoja1", "Hoja2" y "Hoja3" estos nombres deben corresponder con los que aparecen en Excel, en la pestaña de cada hoja.
      encabezados = True
      estaHoja.Cells.Clear
      For Each fsoFile In fsoFolder.Files
      Workbooks.Open (fsoFile.Path)
      Set libroCopiado = Workbooks(fsoFile.Name)
      Set estaHoja = ThisWorkbook.Sheets("Hoja1")

    • @InteligenciaEficiente
      @InteligenciaEficiente  2 года назад +1

      Por último, la línea debe estar dentro de la subrutina copiarDatos ya que de lo contrario no se hará la limpieza de las hojas 2, 3, 4, 5, etc... esta limpieza solo debe hacerse la primera vez que se copian los datos en cada hoja por lo que la variable nos ayudará ya que es verdadera la primera vez que se copian los datos y se vuelve falsa cuando termina de copiar los datos del primer libro, entonces modificaremos copiarDatos:
      Sub copiarDatos(hojaOrigen As Worksheet, hojaDestino As Worksheet, encabezados As Boolean)
      Dim rangoCopiado As Range
      Dim ultimaFila As Integer
      If encabezados = True Then hojaDestino.Cells.Clear '

    • @InteligenciaEficiente
      @InteligenciaEficiente  2 года назад +1

      Finalmente, el código quedará de la siguiente manera, espero haberte ayudado, cualquier duda quedo atento!
      Nota: Pudimos haber creado un ciclo FOR interno y así evitar copiar las 3 líneas de código por cada hoja que se desea copiar sin embargo no lo recomiendo pues no es tan claro de entender para todos aunque si deseas puedes hacer esa modificación. :D
      Sub principal()
      Application.ScreenUpdating = False
      Application.DisplayAlerts = False
      Dim libroCopiado As Workbook
      Dim estaHoja As Worksheet, hojaCopiada As Worksheet
      Dim FSO As Object, fsoFile As Object, fsoFolder As Object
      Dim encabezados As Boolean
      Dim directorio As String

      Set FSO = CreateObject("Scripting.FileSystemObject")
      directorio = FSO.buildPath(ThisWorkbook.Path, "Archivos")
      Set fsoFolder = FSO.GetFolder(directorio)
      encabezados = True
      For Each fsoFile In fsoFolder.Files
      Workbooks.Open (fsoFile.Path)
      Set libroCopiado = Workbooks(fsoFile.Name)
      Set estaHoja = ThisWorkbook.Sheets("Hoja1")
      Set hojaCopiada = libroCopiado.Sheets("Hoja1")
      Call copiarDatos(hojaCopiada, estaHoja, encabezados)
      Set estaHoja = ThisWorkbook.Sheets("Hoja2")
      Set hojaCopiada = libroCopiado.Sheets("Hoja2")
      Call copiarDatos(hojaCopiada, estaHoja, encabezados)
      Set estaHoja = ThisWorkbook.Sheets("Hoja3")
      Set hojaCopiada = libroCopiado.Sheets("Hoja3")
      Call copiarDatos(hojaCopiada, estaHoja, encabezados)
      encabezados = False
      libroCopiado.Close SaveChanges:=False
      Next
      End Sub
      Sub copiarDatos(hojaOrigen As Worksheet, hojaDestino As Worksheet, encabezados As Boolean)
      Dim rangoCopiado As Range
      Dim ultimaFila As Integer
      If encabezados = True Then hojaDestino.Cells.Clear
      ultimaFila = Application.WorksheetFunction.CountA(hojaDestino.Columns(1)) + 1
      If Not encabezados Then hojaOrigen.Rows(1).EntireRow.Delete
      Set rangoCopiado = hojaOrigen.Range("A1").CurrentRegion
      rangoCopiado.Copy Destination:=hojaDestino.Range("A" & ultimaFila)
      End Sub

  • @joeladamescabral219
    @joeladamescabral219 2 года назад

    Hola, muchas gracias por este video y por tomar tu tiempo y compartir tus conocimientos.
    Tengo que unir datos de 50 archivos pero las hojas están protegidas sin contraseña, como puedo desprogerlas y que cuando pegue en el destino pegue en valores no las fórmulas de los archivos

    • @InteligenciaEficiente
      @InteligenciaEficiente  2 года назад

      ¡Hola Joel!Para desproteger una hoja existe el método worksheet.unprotect("tucontraseña") donde worksheet en este caso sería hojaCopiada.unprotect("tuContraseñaAqui") más info: learn.microsoft.com/es-mx/office/vba/api/excel.worksheet.unprotect para pegar solo los valores: exceltotal.com/como-copiar-y-pegar-celdas-con-vba/

  • @dijhonsdeveloper4785
    @dijhonsdeveloper4785 2 года назад

    Buena tarde, tengo una pregunta, para ver si me puedes colaborar por favor:
    Ya presente la macro, y hasta el momento bien gracias por la ayuda, pero ahora resulta que uno de los clientes maneja espacios en blanco y archivo debería respetar , y pintar según corresponda con la columna.
    Que me puedes recomendar, gracias.

  • @joanuspaulus
    @joanuspaulus 10 месяцев назад

    Buen día. Yo estoy teniendo un problema y genera el error "Se ha producido el error '6' en tiempo de ejecución. Desbordamiento". Cómo puedo depurar lo y/o a que se debe para poder revisar el código? Muchas gracias.

    • @InteligenciaEficiente
      @InteligenciaEficiente  10 месяцев назад +1

      Hola Joan, te recomiendo ver este video donde doy tips de depuración: ruclips.net/video/WY3_-MEZV8M/видео.htmlsi=vLbSPA4cQGcnS43A el error de desbordamiento aparece cuando una variable numérica alcanza su límite, es posible que estés usando una variable de tipo INTEGER que va aumentando su valor, si se supera ±32,767 entonces dará un error de desbordamiento, en ese caso te recomiendo cambiar el tipo de INTEGER a LONG. ¡Saludos!

    • @joanuspaulus
      @joanuspaulus 10 месяцев назад

      @@InteligenciaEficiente Muchas gracias. En efecto ese era el inconveniente.

  • @dijhonsdeveloper4785
    @dijhonsdeveloper4785 2 года назад

    Buen día, ¿Puedo eli8minar los encabezados?. Gracias

    • @InteligenciaEficiente
      @InteligenciaEficiente  2 года назад

      Claro que es posible, podrías usar el comando Rows(1).EntireRow.Delete

  • @max.s.7038
    @max.s.7038 2 года назад +1

    hola , me da error en Set fsoFolder = fso.GetFolder(directorio) como puedo corregir? los archivos lo tengo en Documentos

    • @DanielSanchez-fr8mw
      @DanielSanchez-fr8mw Год назад

      Me salió el mismo error, como lo corregiste, me puedes ayudar por favor

  • @TheFrancoelmalo
    @TheFrancoelmalo Год назад

    Hola Amigo, muchas gracias por compartirnos tus conocimientos. Yo intente seguir tu explicación y funcionó pero tengo un problema, yo quiero unir 4 Libros que tienen la misma Tabla en otra hoja con el código que explicaste, la cuestión es que las primeras dos hojas las copia correctamente pero a partir de la tercera no copia el contenido de las columnas 4 en adelante. Se te ocurre que podría estar pasando?.

    • @InteligenciaEficiente
      @InteligenciaEficiente  Год назад

      ¡Hola! Muchas gracias por tu comentario, quizá pueda ayudarte con las modificaciones que necesitas, escríbeme al correo que está en la descripción para tener un contacto más directo. ¡SALUDOS!

  • @DanielSanchez-fr8mw
    @DanielSanchez-fr8mw Год назад

    Hola, excelenete video pero al momento de ejecutar me sale el error 76 indica que no se ha encontrado la ruta de acceso, le doy en depuerar y marca el siguiente codigo Set fsoFolder = FSO.GetFolder(directorio)
    Alguien sabe como se corrige o a alguien mas le salio?? Ayuda por favor

  • @jesustime9111
    @jesustime9111 2 года назад

    Excelente video y explicación, podrías ayudarme con algo porfavor, al momento de copiar el 1er archivo copia todas las columnas, pero el 2do archivo y el tercero solo copia hasta cierta columna, entiendo que es porque la base de datos tiene columnas vacias, como podría hacer para que copie de un rango específico todas las columnas de los 3 archivos que tengo como base

    • @InteligenciaEficiente
      @InteligenciaEficiente  2 года назад

      Hola Jesus, puede existir diversas maneras para resolver el problema que mencionas, si aún necesitas una asesoría más personalizada con gusto puedes escribirme a: inteligenciaeficienteyt@gmail.com

  • @slacex
    @slacex 7 месяцев назад

    que hacer si la ruta de archivos a combinar esta en otra parte?

    • @InteligenciaEficiente
      @InteligenciaEficiente  6 месяцев назад

      ¡Hola! La podrías referenciar desde una celda de Excel y obtener su valor en el código de la macro usando la clase Range

  • @sebastiangonzalez3062
    @sebastiangonzalez3062 2 года назад

    Hola que tal ?!. Bastante interesante el contenido del video y muy bien hecho. Muy útil para el manejo de gran cantidad de datos. Intente realizar el paso a paso pero me salió error 1004 en tiempo de ejecución: Error en el método 'Range' de objeto '_Worksheet' al momento de ejecutarlo. Hay cosas que no son claras para mi como generar la carpeta 'Archivo' en el mismo archivo de xlm. Cree una carpeta en mi escritorio (Macros) con la carpeta 'Archivos' y el excel con el código dentro de esa carpeta inicial (Macros). Si puedes colaborarme, lo agradecería. Saludos. Que buen material

    • @InteligenciaEficiente
      @InteligenciaEficiente  2 года назад

      Hola Sebastian! Con gusto puedes enviarme un correo a inteligenciaeficienteyt@gmail.com para poder revisar el error que te aparece SALUDOS!!

  • @reynaldonavarro4499
    @reynaldonavarro4499 2 года назад

    Buenas excelente video! Cómo se puede hacer para copiar solo un grupo de columnas específicas, sin necesidad de copiar toda la hoja con el encabezado

    • @InteligenciaEficiente
      @InteligenciaEficiente  2 года назад

      Hola, en ese caso puedes modificar la línea que da valor al rango copiado, por ejemplo si quisieras copiar de la celda A1 a la celda Z100 la línea de código será la siguiente de Set RangoCopiado = hojaOrigen.Range("A1:Z100").Copy

  • @JairBullaVargas
    @JairBullaVargas 2 года назад

    Excelente.

  • @DulsSsT
    @DulsSsT 3 года назад

    Chulada, hay forma de identificar los datos de cada archivo, con otra columna, supongamos con el nombre de cada archivo de excel, que se le agregara?

    • @InteligenciaEficiente
      @InteligenciaEficiente  3 года назад

      ¡Hola Dulce! Sí cambia algo el código, pero espera un video sobre cómo hacerlo sin programación :D, utilizado Power Query de Excel.

  • @chumbe123
    @chumbe123 2 года назад

    Buenas , me da error en Set fsoFolder = fso.GetFolder(directorio) como puedo corregir? los archivos a copiar los tengo en una carpeta ,como tu ejemplo..gracias

    • @InteligenciaEficiente
      @InteligenciaEficiente  2 года назад

      Hola Marco, hay que verificar que esté bien escrita la línea Set FSO = CreateObject("Scripting.FileSystemObject") si está bien escrita entonces hay que verificar que tengas una carpeta llamada "Archivos" respetando las mayúsculas. ¡Saludos! Si continúas con problemas puedo ayudarte más directo si me escribes un correo a inteligenciaeficienteYT@gmail.com

    • @fp5420
      @fp5420 2 года назад

      Hola me ocurre igual, y no se porque todo esta correcto ;(

    • @Sebasvb88
      @Sebasvb88 2 года назад

      Hola. Buenas tardes, me da el mismo error, ya sabes cómo corregirlo? 🥺

  • @marin90510
    @marin90510 8 месяцев назад

    Buenos días. Excelente aporte. Pero, cuando los archivos de Excel tiene varias hojas, la macro sólo está copoiando los datos de la primera, el resto de las hojas no se copia. Puedes por favor explicarme como se le agrega esa instrucción a la macro. Gracias

    • @InteligenciaEficiente
      @InteligenciaEficiente  8 месяцев назад

      ¡Hola! Claro que sí, en lugar de set hojaCopiada = libroCopiado.Sheets(1) tendríamos que agregar un bucle que recorra todas las hojas del libroCopiado, se vería algo así:
      For hoja in libroCopiado.Sheets
      Set hojaCopiada = hoja
      Call copiarDatos(hojaCopiada, estaHoja, encabezados)
      Next
      Cualquier duda puede contactarme por correo para poder apoyarlo de mejor manera.

  • @beatrizmosqueraibarguen2059
    @beatrizmosqueraibarguen2059 3 года назад

    Hola Y si yo agrego nuevos archivos Se actualizan todos o solo los que agregue en la carpeta??

    • @InteligenciaEficiente
      @InteligenciaEficiente  3 года назад +1

      ¡Hola! Si deseas conservar los datos que tenías antes de correr la macro, necesitas borrar la línea que escribo en el minuto 18:00, esa línea de código hace una limpieza de datos antes de pegar los nuevos.

  • @galgogreco
    @galgogreco 2 года назад

    Hola, buen día
    ¡Muchísimas gracias por tu video! Me está ayudando bastante. Fíjate que en la línea 34 (de ultimaFila + 1) me sale un error de overflow por la gran catidad de datos que tengo en mis archivos ¿sabes cómo puedo corregir esto?

    • @galgogreco
      @galgogreco 2 года назад

      De igual manera, no sé por qué pero cuando corro la macro, se me abre uno de los libros que tengo en la carpeta de archivos

    • @InteligenciaEficiente
      @InteligenciaEficiente  2 года назад

      Hola! Para corregir lo de overflow cambia el tipo de dato ultimaFila de Integer a Long o sea, en la línea Dim ultimaFila As Long

  • @matiasignaciosepulvedapino68
    @matiasignaciosepulvedapino68 3 года назад

    Hola, tengo una consulta, a la hora de combinar mis archivos estos no se separan por celdas y se agrupan por punto y coma; sabes a que se puede deber? se que se pueden cambiar de texto a columnas pero a la hora de hacerlo se reemplazan y pierdo datos

    • @InteligenciaEficiente
      @InteligenciaEficiente  3 года назад +1

      Hola Matías, se puede deber a que tus archivos de origen están en formato .CSV te comparto un video donde proceso un archivo delimitado por punto y coma usando Power Query. ruclips.net/video/YPPeIftGs0s/видео.html

    • @matiasignaciosepulvedapino68
      @matiasignaciosepulvedapino68 3 года назад

      Si, los tengo en ese formato, el problema es que tengo que automatizar ese proceso, tambien estaba pensando hacerlo con power query pero al hacerlo me consume tiempo del dia a dia, pero gracias igual, genial tu video

  • @betsabesanchez8132
    @betsabesanchez8132 2 года назад

    Hola, justo estaba buscando algo parecido y tu video me cayó como caído del cielo.
    ¿Cambiaría mucho si en lugar de Excel utilizo Access? Espero me respondas, muchas gracias.

    • @InteligenciaEficiente
      @InteligenciaEficiente  2 года назад

      Hola Betsabé, muchas gracias por tu comentario! Para replicar este proceso en Access, sí cambia debido a que Access es una base de datos SQL, si gustas contactarme para una sesión de asesoría al correo inteligenciaeficienteYT@gmail.com con gusto podemos revisar este tema!

  • @omarrosales358
    @omarrosales358 2 года назад

    hola excelente video, me da el error 438 Object doesn't support this property or method, sabes como poder solucionarlo?

    • @InteligenciaEficiente
      @InteligenciaEficiente  2 года назад

      Hola Omar, puede deberse a que tienes algún error al declarar una variable o el valor de la misma. Puedes enviarme tu código a inteligenciaEficienteYT@gmail.com para que pueda ayudarte a corregirlo. ¡Saludos! :D

  • @raulhernandez60
    @raulhernandez60 2 года назад

    Excelente video, me gustaría me pudieras apoyar, si necesito que en lugar de que sea en filas hacia abajo, necesitara la información pero en columnas a la derecha, ejemplo en lugar de que se vaya hacia la fila A1, A2, A3 etc, copie la información a columna A1 datos y el siguiente libro de excel lo copie en columna E1 y así sucesivamente. Gracias de antemano.

    • @InteligenciaEficiente
      @InteligenciaEficiente  2 года назад +1

      Hola Raúl, te comparto este video donde muestro algunos ejemplos de copiado y pegado en celdas que no están en la misma ubicación, saludos!! ruclips.net/video/TFWj_VpdGD8/видео.html&ab_channel=InteligenciaEficiente

  • @salvadorcontreras3334
    @salvadorcontreras3334 2 года назад

    Buenas tardes, excelente video. Todo iba bien, hasta que tuve un problema cuando tuve 6 archivos en la carpeta y a partir de qué excel leía el 6 archivo se traba y muestra que hay un error al copiar el rango. Que se podria hacer en ese caso?

    • @InteligenciaEficiente
      @InteligenciaEficiente  2 года назад

      Hola Salvador, si necesitas ayuda más personalizada con gusto puedes mandarme un correo a: inteligenciaeficienteyt@gmail.com

  • @LucilaGonzalez-oz2lo
    @LucilaGonzalez-oz2lo Год назад

    consulta : la macro funciona bien pero del primer archivo me trae todas las columnas, mientras que en los restantes archivos no me trae el resto de columnas, como puedo corregir eso? Saludos y gracias por las explicaciones

    • @InteligenciaEficiente
      @InteligenciaEficiente  Год назад

      Hola Lucila, para poder ayudarte por favor envíame tu macro al correo que dejo en la descripción, saludos! :D

  • @sergioandresrealforero2971
    @sergioandresrealforero2971 2 года назад

    Hola, tengo una duda... Cuando quiero tomar un rango más amplio como lo hago? Es que mi libro de excel tiene espacios entre columnas por ende cuando corro la macro solo aparecen los encabezados, cómo puedo solucionarlo...?

    • @InteligenciaEficiente
      @InteligenciaEficiente  2 года назад +1

      Hola, en ese caso tendrías que buscar la mejor manera de calcular tu última columna, hay varias maneras en la que esto se puede hacer. Te comparto más información: es.extendoffice.com/documents/excel/1721-excel-find-last-row-column-with-data.html

    • @sergioandresrealforero2971
      @sergioandresrealforero2971 2 года назад

      @@InteligenciaEficiente Muchas gracias encontré la forma de reformar la macro para que la tomara de diferente manera, mil gracias por contestar 👍🏻

    • @InteligenciaEficiente
      @InteligenciaEficiente  2 года назад

      @@sergioandresrealforero2971 Excelente!!

  • @videoclass-pacha
    @videoclass-pacha Год назад

    Muy buen video. Quisiera que me escribas un código para el cual la información que se una vayan a hojas continuas, es decir el libro 1 iría a la hoja 1 y los otros libros después de la hoja 1 a la hoja 2, hasta terminar con todos los libros a un mismo libro.

    • @marin90510
      @marin90510 8 месяцев назад

      Tengo la misma petición

  • @angelchang8116
    @angelchang8116 2 года назад

    Cómo puedo hacer que esto funcione para archivos de texto?, que copie y una la información de varios archivos de texto pero sin que los tabule, es decir, que cada línea del archivo de texto esté en una celda

    • @InteligenciaEficiente
      @InteligenciaEficiente  2 года назад

      Hola Ángel, con gusto puedo apoyarte en esa petición particular. Si deseas una asesoría más personal puedes escribirme a: inteligenciaeficienteyt@gmail.com SALUDOS!!

  • @maribeluribe773
    @maribeluribe773 2 года назад

    Hola, muy buen video
    Estuve ejecutando la macro y me pasan varias cosas
    1. Cuando lo corro tal cual se me pega la información incluyendo encabezados (iniciando en A1)
    2. Cuando realizo las modificaciones adecuando a mi archivo que la información inicia en A10 (y se pegue en B10) y su encabezados esta en fila 9, solo me copia un archivo de los 4 que necesito.
    3. También me gustaría saber como pegar la información como valor ya que tengo unformacion con listas desplegables y no me gustaria que se pasaran.
    Saludos.

    • @InteligenciaEficiente
      @InteligenciaEficiente  2 года назад

      Muchas gracias por contactarme por correo Maribel, cualquier cosa aquí seguimos! :D

    • @anahygare2302
      @anahygare2302 Год назад

      Hola Maribel , puedes compartir la solución ? Tengo el mismo problema:(

  • @jorgeballesteros8125
    @jorgeballesteros8125 3 года назад

    Sabes como seria el codigo en ingles? Creo que me esta generando confusion pasar del espanol al ingles en la programacion

    • @InteligenciaEficiente
      @InteligenciaEficiente  3 года назад +1

      Te comparto algunos ejemplos de palabras que puedes cambiar:
      libroCopiado -> copiedWorkbook
      hojaCopiada -> copiedSheet
      CopiarDatos -> copyData
      directorio -> directory
      encabezados -> headers
      ultimaFila -> lastRow
      estaHoja-> thisSheet
      rangoCopiado -> copiedRange
      Puedes hacer uso de google translate (translate.google.com) siempre que te cueste traducir una palabra, saludos!

  • @fabianparamo1536
    @fabianparamo1536 3 года назад

    Me funcionó pero solo me unió tres archivos, ya que me marca error número 6 derramamiento, como lo puedo solucionar?

    • @InteligenciaEficiente
      @InteligenciaEficiente  3 года назад +3

      Hola Fabian, te responderé no solo cómo solucionar el error sino a qué se debe para ofrecerte la mayor ayuda posible. El error que mencionas se debe a que el valor numérico que se desea almacenar en una variable es mayor al máximo valor aceptado por esa variable, tal debe de ser el caso de la variable UltimaFila (minuto 11:14) que se declaró como tipo Integer, este tipo de dato solo puede almacenar números entre -32,768 to 32,767, si se sale de este umbral marcará un error de desbordamiento como mencionas. Para solucionar esto solo tienes que cambiar la línea Dim UltimaFila As Integer por --> Dim UltimaFila As Long (El tipo de dato Long puede almacenar números entre -2,147,483,648 y 2,147,483,647. ¡Espero que te funcione! :D

    • @fabianparamo1536
      @fabianparamo1536 3 года назад

      @@InteligenciaEficiente Si, muchas gracias ya lo corrobore y si funciono

  • @FranConcept
    @FranConcept 2 года назад

    no me da tiempo copiarlo podrias prepararlo para descargar?

    • @InteligenciaEficiente
      @InteligenciaEficiente  2 года назад

      La macro la puedes descargar en la descripción, de ahí puedes copiar el código, saludos!!

    • @FranConcept
      @FranConcept 2 года назад

      @@InteligenciaEficiente muchas gracias

  • @jessicazamora4974
    @jessicazamora4974 3 года назад

    Esta súper bien el tutorial! Pero estoy teniendo problemas a la hora de ejecutarlo. Mis archivos inician en la fila 7 y están en la hoja 2. Igual están protegidos con contraseña, no sé si tendría que desprotegerlos antes de hacer el consolidado. Me marca el error 429, entonces no sé como hacerle
    Espero me puedas ayudar! Gracias!!

    • @InteligenciaEficiente
      @InteligenciaEficiente  3 года назад +2

      Hola Jessica! si es la misma contraseña para todos los archivos entonces hay que modificar la línea Workbooks.Open(fsoFile.Path) por Workbooks.Open(filename:=fsoFile.Path, password:= "tuPasswordAqui")

    • @jessicazamora4974
      @jessicazamora4974 3 года назад

      @@InteligenciaEficiente Muchísimas gracias! Y con el tema de que mis columnas no inician en la fila 1, sino en la 7? 🙃

    • @InteligenciaEficiente
      @InteligenciaEficiente  3 года назад +2

      @@jessicazamora4974 Para indicarle que copie la segunda hoja hay que modificar Set hojaCopiada = libroCopiado.Sheets(1) por Set hojaCopiada = libroCopiado.Sheets(2) y para copiar desde la fila 7 Set rangoCopiado = hojaOrigen.Range("A1").CurrentRegion por Set rangoCopiado = hojaOrigen.Range("A7").CurrentRegion

    • @jessicazamora4974
      @jessicazamora4974 3 года назад

      @@InteligenciaEficiente Perfecto, muchísimas gracias!!

    • @nicolaszaremberizzo3513
      @nicolaszaremberizzo3513 Год назад

      @@InteligenciaEficiente Hola, buenas tardes, ¿cómo estás? Tengo un problema semejante: cada libro y cada hoja están protegidos por contraseña (la contraseña es la misma, tanto para los libros como para las hojas). Cuando intento pegar la instrucción que dejaste aquí me aparece lo siguiente "Error de compilación: Se esperaba: =". Agradecería muchísimo tu ayuda, lo necesito para el trabajo y desde ya decirte que tu trabajo es excelente, ganaste un nuevo suscriptor.

  • @lucasmedina1
    @lucasmedina1 3 года назад

    Buen dia! quisiera incorporar archivos como en el ej anterior (ruclips.net/video/G_jLURKjzi4/видео.html) como podria modificar las lineas para ingreso manual?
    Muchisimas gracias!!!

  • @jeanhernandez9038
    @jeanhernandez9038 Год назад

    Y si los archivos que deseo unir, estuvieran en diferentes subcarpetas y todas estas dentro de una carpeta madre. Esto es, porque dentro de cada carpeta tendria un archivo en el cual un usuario unico podra gestionar, pero este usuario no podra ver los demas archivos

  • @anahygare2302
    @anahygare2302 Год назад

    Todo bien con la macro pero resulta que después de que meto un archivo ya no puedo meter más ejemplo:
    Archivo 1: con 200 datos
    Archivo 2: con 300
    Archivo 3: con 96,000
    Después del archivo 3 ya no puedo meter más archivos , alguien sabe por qué?? :(

    • @InteligenciaEficiente
      @InteligenciaEficiente  Год назад

      Hola! Podrías enviarme tu macro al correo que encuentras en la descripción para poder ayudarte :D

  • @angelicaolivares2250
    @angelicaolivares2250 Год назад

    Me encantó el vídeo, me sirvió mucho, pero al correr la macro me arroja error de objeto todo lo demás funciona, sólo que mi excel en versión 2016 y no se si exista forma de cambiar la función de countA o tenga que descargar algún complemento para está macro, ojalá me pudieran ayudar.

    • @InteligenciaEficiente
      @InteligenciaEficiente  Год назад

      ¡Hola! Si aún continúas con problemas puedes enviarme tu macro por correo: inteligenciaeficienteYT@gmail.com ¡Saludos!