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

  Рет қаралды 34,516

Inteligencia Eficiente

Inteligencia Eficiente

Күн бұрын

Пікірлер: 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
@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
@camilitagamer374
@camilitagamer374 Жыл бұрын
Gran tutorial excelente video, todos los éxitos
@InteligenciaEficiente
@InteligenciaEficiente Жыл бұрын
Muchas gracias!! Igualmente para ti :D
@profesuaste
@profesuaste Жыл бұрын
Me sirvió, excelente, muchas gracias.
@marylandcarvajal9909
@marylandcarvajal9909 9 ай бұрын
Bastante buena 👍 ❤
@dijhonsdeveloper4785
@dijhonsdeveloper4785 2 жыл бұрын
Muchas gracias, en la empresa me pidieron realizar esto y la verdad, no lo tenia claro...
@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!
@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! kzbin.info/www/bejne/qqm6ao2IarSigsUsi=yLxbi1Lg-jPj0K6-
@CarlosAlfredoTrejoGonzal-op9ni
@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?
@JairBullaVargas
@JairBullaVargas 2 жыл бұрын
Excelente.
@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 Жыл бұрын
¡Hola Alex! te dejo este video, espero que te sirva: kzbin.info/www/bejne/rH3Ng3V4dr1qaKM&ab_channel=SergioAlejandroCampos-EXCELeINFO
@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. kzbin.info/www/bejne/qZ-lqJqsg7Cihassi=j60I9_yMOr0HS1ih ¡Saludos!
@marisolmendez7912
@marisolmendez7912 2 жыл бұрын
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!
@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
@etudelas
@etudelas 3 жыл бұрын
Genial muchas gracias
@InteligenciaEficiente
@InteligenciaEficiente 3 жыл бұрын
¡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 жыл бұрын
@@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é
@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!!
@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
@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 жыл бұрын
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.
@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 kzbin.info/www/bejne/b2LdnHxnl9ueb9U revísalo y elige la opción que más te convenga, saludos!!
@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.
@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: kzbin.info/www/bejne/qqm6ao2IarSigsUsi=8mgWdWtejhTu3X8j
@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!
@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!!
@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 жыл бұрын
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!! kzbin.info/www/bejne/ine6m5KMpcl6epo&ab_channel=InteligenciaEficiente
@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!!
@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 жыл бұрын
¡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 жыл бұрын
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 жыл бұрын
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 жыл бұрын
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 жыл бұрын
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
@max.s.7038
@max.s.7038 2 жыл бұрын
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
@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
@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.
@dijhonsdeveloper4785
@dijhonsdeveloper4785 2 жыл бұрын
.
@InteligenciaEficiente
@InteligenciaEficiente 2 жыл бұрын
Hola para poder ayudarte te mejor te sugiero que me contactes a la pagina de facebook de la descripción, saludos!!
@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
@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.
@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 ай бұрын
Hola Joan, te recomiendo ver este video donde doy tips de depuración: kzbin.info/www/bejne/jYqWkGCDer-Jbq8si=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.
@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
@beatrizmosqueraibarguen2059
@beatrizmosqueraibarguen2059 3 жыл бұрын
Hola Y si yo agrego nuevos archivos Se actualizan todos o solo los que agregue en la carpeta??
@InteligenciaEficiente
@InteligenciaEficiente 3 жыл бұрын
¡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.
@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
@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
@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!
@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
@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? 🥺
@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 жыл бұрын
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. kzbin.info/www/bejne/j4GzlnycqaymZtU
@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
@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
@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:(
@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
@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 жыл бұрын
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!!
@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!!
@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
@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 жыл бұрын
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 жыл бұрын
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
@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 жыл бұрын
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 жыл бұрын
@@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.
@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
@lucasmedina1
@lucasmedina1 3 жыл бұрын
Buen dia! quisiera incorporar archivos como en el ej anterior (kzbin.info/www/bejne/fZDNfYiIgM-tn5Y) como podria modificar las lineas para ingreso manual? Muchisimas gracias!!!
@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!
VBA: Copia varias hojas de un libro de Excel automáticamente
19:29
Inteligencia Eficiente
Рет қаралды 9 М.
Cómo UNIR varios ARCHIVOS Excel en uno solo | Sin Macros |
11:53
Saber Programas
Рет қаралды 470 М.
Интересно, какой он был в молодости
01:00
БЕЗУМНЫЙ СПОРТ
Рет қаралды 3,8 МЛН
Sigma Kid Mistake #funny #sigma
00:17
CRAZY GREAPA
Рет қаралды 27 МЛН
Quilt Challenge, No Skills, Just Luck#Funnyfamily #Partygames #Funny
00:32
Family Games Media
Рет қаралды 54 МЛН
99.9% IMPOSSIBLE
00:24
STORROR
Рет қаралды 27 МЛН
3 Easy Ways to Use AI in Excel Tutorial (Beginner)
12:52
Elliot Gherardi
Рет қаралды 2,5 М.
Macro Excel para Generar TXT
26:21
Formulas Excel
Рет қаралды 228 М.
Next level FILTER Function tricks | Excel Off The Grid
13:23
Excel Off The Grid
Рет қаралды 34 М.
Unir varios libros de excel en una sola hoja usando VBA
23:50
TutorialesLAB
Рет қаралды 43 М.
APRENDE Como Unir Varios Archivos de Excel en Uno SOLO  - SIN MACROS
4:58
Juan David Quintero
Рет қаралды 142 М.
Все JOIN в SQL Для Начинающих За 15 Минут
15:48
Macro en Excel para copiar datos desde un archivo Excel a otro
10:36
El Automatizador
Рет қаралды 370 М.
Power Query: la herramienta definitiva para consolidar datos de Excel.
7:00
Интересно, какой он был в молодости
01:00
БЕЗУМНЫЙ СПОРТ
Рет қаралды 3,8 МЛН