Muy bien explicado, la aportacion del formulario es muy buena opcion, aparte de sencilla. Te da mas rapidez y seguridad en la ejecucion del copiado. Le puedo pedir que controle la musica o sonido de fondo, en algunos momentos le tapa su voz. Por lo demas perfecto y muy didactico. Gracias.
Hola Rafael, muchísimas gracias por su valioso comentario y observación, claro que las estaremos tomando en cuenta para los videos futuros. ¡Saludos! :D
Hola te quiero felicitar, está súper bien explicado y lo pude realizar con absolutamente 0 conocimiento previo... Espero más tutoriales así para seguir aprendiendo 👌🏼👍🏼
Excelente video, entiendo que ya es para gente que domine macros pero no estaría mal explicar o decir que utilizas funciones, yo recién me doy cuenta por que veo que pasabas argumentos a los procedimientos, pero excelente este tutorial, sigue así., me ha ayudado muchísimo , gracias nuevamente.
Nueva Suscripción, consulta y si quiero que se guarde en otro archivo nuevo que solo estén las hojas copiadas sin la hoja donde está el botón, solo como valores y conservando el formato colores tamaños etc
¡Hola! Para poder guardarlo como un archivo nuevo y que solo pegue los valores incluyendo formatos es necesario modificar el código del método copiarHojas 14:53 : Sub copiarHojas(libro As Workbook) Dim nombreHoja As String Dim nuevoLibro As Workbook Application.DisplayAlerts = False Set nuevoLibro = Workbooks.Add For i = 0 To Menu.ListBox1.ListCount - 1 If Menu.ListBox1.Selected(i) Then nombreHoja = Menu.ListBox1.List(i) libroSeleccionado.Sheets(nombreHoja).Copy After:=nuevoLibro.Sheets(1) nuevoLibro.Sheets(nombreHoja).Cells.Copy nuevoLibro.Sheets(nombreHoja).Range("A1").PasteSpecial Paste:=xlPasteAllUsingSourceTheme nuevoLibro.Sheets(nombreHoja).Range("A1").PasteSpecial Paste:=xlValues Application.CutCopyMode = False End If Next nuevoLibro.Sheets(1).Delete libroSeleccionado.Close SaveChanges:=False nuevoLibro.SaveAs Filename:=ThisWorkbook.Path & "\" & "Libro de copia.xlsx", FileFormat:=51 nuevoLibro.Close MsgBox "Hojas copiadas correctamente", vbInformation Unload Menu End Sub
hola una consulta: un archivo excel tiene filtros por meses - ( se puede seleccionar julio, junio, agosto etc. ) es factible hacer una macro que actue sobre ese filtro, por ejemplo dado un mes que tome ese mes indicado, el mes anterior y el mismo mes pero del año anterior
Te felicito por tu video, muy bien explicado y se que hay muchos videos de este tipo, pero no has considerado realizar un Tutorial para Principiantes (veo que utilizas pasos de macros, botones y vba, muy completo) en Excel y VBA? creo que serias buen Maestro y si lo haces me apunto, vale Saludos Bro
Excelente muy buena explicación, y si quisiera que no se copiaran por aparte sino consolidar todos los archivos en uno solo, cambiaria mucho el código?
Muchas gracias Marlyn, te comparto este otro vídeo donde se hace el consolidado, si tienes más comentarios no dudes en escribirme. Saludos :D th-cam.com/video/UhzWa8SrwDk/w-d-xo.html
@@InteligenciaEficiente Uy si ya lo vi esta super interesante, pero respecto a este si necesito que pegue solo los valores, cómo o dónde podría agregar la línea de código.
@@marlynquintero9261 te comparto este vídeo de otro canal, en el minuto 03:46 hace el pegado de solo los valores, saludos!! th-cam.com/video/1G3kmBSh1kQ/w-d-xo.html
Hola, excelente video, quiera saber como se puede crear un macro que copie la informacion de varios archivos de excel a uno solo en diferentes hojas y que permita escoger las hojas que uno requiera copiar
Excelente sitio. Pudieran ayudarme con una macro que elimine los vinculos externos en un libro Excel. Lo necesito porque al copiar una hoja de un libro se viene con vinculos; pero no necesito los vinculos de esa hoja copiada.
Hola Samuel, te recomendaría que al pegar los valores utilices el método PasteSpecial xlPasteValues para que solo pegue los valores, más información en este enlace: docs.microsoft.com/es-mx/office/vba/api/excel.range.pastespecial docs.microsoft.com/es-mx/office/vba/api/excel.xlpastetype
Felicitaciones muy buen aporte como ejemplo, ¿Cómo se puede hacer una macro para un Libro Destino con varias hojas con rango de celdas especificas y que requiere contar con los mismos datos de otro libro de varias hojas con rangos de celdas específicas, es decir del "Libro1-Hoja1-Rango Especifico" copiar al "Libro2-Hoja1-Rango Especifico", del "Libro1-Hoja2-Rango Especifico" copiar al "Libro2-Hoja2-Rango Especifico", del "Libro1-Hoja3-Rango Especifico" copiar al "Libro2-Hoja3-Rango Especifico", etc?. De antemano muy agradecido por su repuesta. Saludos desde Puno-Perú. Gracias.
Hola Josué, eso sería una combinación de esta macro junto con otra que explico en mi video más actual donde se ve cómo pasar los valores de diferentes celdas desde un libro de Excel a otro. Te recomiendo que les una revisada! :D th-cam.com/video/gm04zRD4ImE/w-d-xo.html
Excelente presentación, tengo una situación en donde tengo 26 archivos uno por semana y se necesita crear uno nuevo con el resumen de todos ellos, todos tiene el mismo encabezado, el mismo formato y toda la información inicia en la fila b9, y cada semana se debe de agregar información, por lo que se necesita que acumula los datos, ¿me puedes ayudar a crear una macro que pueda realizar este resumen?
Qué tal Luis. Según entiendo lo que haces es consolidar la información de diferentes libros. Si es así esta macro puede ayudarte: th-cam.com/video/UhzWa8SrwDk/w-d-xo.html
Gracias por tus aportes que me han ayudado demasiado, aprovecho también para ampliar la solicitud de apoyo con los archivos que necesito tener en resumen, casa semana se elabora un archivo de arqueo y este tiene varias hojas entre ellas, el arqueo (donde está el resumen de todo el archivo), los gastos por separado, clarificador en 5 tipos, necesito generar un resumen en global que sea acomulable. Me puedes proporcionar el correo para detallarte lo que necesito. Saludos
Hola el vídeo es bueno, pero tengo una consulta. Si mi excel esta en idioma de inglés, lo que se describe en español debería escribirlo en inglés? por ejemplo la palabra libro
¡Hola Raysa! No es necesario que lo escriba en inglés, todo lo que tiene que ver con nombres de variables puede ser escrito en el idioma que mejor le parezca, ¡saludos!
Probé con eso pero aquí el tema es que cuando corro la macro y selecciono el archivo con las hojas a copiar el libro activo queda el recién abierto y no donde quiero pegar las hojas. No se si me explique. Es por decir abro un nuevo libro y desde ahí ejecuto la macro desde la ribbon al yo seleccionar el archivo es el que queda activo y por consiguiente es ahí donde hace la copia.
@@Mar10Bravo tendrías que crear una variable y asignarle el valor del libro activo en ese momento antes de que abran los demás, por ejemplo: Dim libroDestino as Workbook Set libroDestino = ActiveWorkbook
Lo hice siguiendo los pasos y tengo un error ya mire muchas veces y no entiendo por que se genera el error, error 91 variable de objeto o bloque with no establecido me sale, y si le pongo depurar dice que la linea que esta mal es for each hoja in libro.sheets
BUENAS NOCHES ESTIMADO, QUISERA HACER UNA CONSULTA PARA PODER REALIZAR LO QUE SE PUEDE APRECIAR EN EL SIGUIENTE LINK DEL VIDEO, HABER SI PUEDE AYUDARME EN TODO LO QUE ESTA RELACIONADO CON EXCEL SEGUN EL VIDEO. SALUDOS. th-cam.com/video/OSkwQnXQGPo/w-d-xo.html , 10.- Planilla de Replanteo con AutoCAD Civil 3D 2018 y TD Excel DG-2014
//Modulo Public libroSeleccionado As Workbook Sub Principal() Application.DisplayAlerts = False Application.ScreenUpdating = False Dim rutaSeleccionada As Variant rutaSeleccionada = Application.GetOpenFilename(Title:="Por favor seleccione un libro") If rutaSeleccionada = "False" Then Exit Sub End If Set libroSeleccionado = Workbooks.Open(rutaSeleccionada) Call listarHojas(libroSeleccionado) Load Menu Menu.Show vbModeless End Sub Sub listarHojas(libro As Workbook) Dim hoja As Worksheet For Each hoja In libro.Sheets Menu.ListBox1.AddItem hoja.Name Next End Sub Sub copiarHojas(libro As Workbook) Dim nombreHoja As String For i = 0 To Menu.ListBox1.ListCount - 1 If Menu.ListBox1.Selected(i) Then nombreHoja = Menu.ListBox1.List(i) libroSeleccionado.Sheets(nombreHoja).Copy After:=ThisWorkbook.Sheets(1) End If Next libroSeleccionado.Close MsgBox "Hojas copiadas correctamente", vbExclamation Unload Menu End Sub //Formulario Private Sub btnCopiar_Click() Call copiarHojas(libroSeleccionado) End Sub //Formulario Private Sub UserForm_Activate() Me.ListBox1.ListStyle = fmListStyleOption Me.ListBox1.MultiSelect = fmMultiSelectMulti End Sub By: mpv
Muy bien explicado. Me ha ayudado mucho, gracias!!
¡Gracias por comentar! ¡Saludos!
Muy bien explicado, la aportacion del formulario es muy buena opcion, aparte de sencilla.
Te da mas rapidez y seguridad en la ejecucion del copiado.
Le puedo pedir que controle la musica o sonido de fondo, en algunos momentos le tapa su voz.
Por lo demas perfecto y muy didactico.
Gracias.
Hola Rafael, muchísimas gracias por su valioso comentario y observación, claro que las estaremos tomando en cuenta para los videos futuros. ¡Saludos! :D
Hola te quiero felicitar, está súper bien explicado y lo pude realizar con absolutamente 0 conocimiento previo... Espero más tutoriales así para seguir aprendiendo 👌🏼👍🏼
¡Muchas gracias! Claro que sí, hay muchos más tutoriales de los que podrás aprender bastante :D
Excelente video, entiendo que ya es para gente que domine macros pero no estaría mal explicar o decir que utilizas funciones, yo recién me doy cuenta por que veo que pasabas argumentos a los procedimientos, pero excelente este tutorial, sigue así., me ha ayudado muchísimo , gracias nuevamente.
¡Muchas gracias por tu comentario José, tomaré en cuenta lo que mencionas! ¡Gracias por apoyar el canal! :D
Hola que tal, no se nada y esta macro me funciona excelente.
Me sirvio de maravilla, muchas gracias por enseñar lo que sabes.
A la orden!! 🤩🤩
Excelente, muy bien explicado, muchas gracias
Muchas gracias, espero que sea de utilidad. :D
Genial video todo muy completo. Muchas gracias
Gracias a ti por tu importante apoyo, Juan. :D
muy muy Clarito la explicación
¡Gracias por tu comentario tocayo!
Como siempre Excelente,por favor sigue asi.Gracias
¡Gracias por tu importante apoyo, José!
Excelente video bien explicado
¡A la orden!
Muchas gracias, me sirvio mucho
excelente tutorial
Gracias! 😊
Genial 😊
¡Espero que te sea de utilidad! :D
Superrrrrr!!
Nueva Suscripción, consulta y si quiero que se guarde en otro archivo nuevo que solo estén las hojas copiadas sin la hoja donde está el botón, solo como valores y conservando el formato colores tamaños etc
¡Hola! Para poder guardarlo como un archivo nuevo y que solo pegue los valores incluyendo formatos es necesario modificar el código del método copiarHojas 14:53 :
Sub copiarHojas(libro As Workbook)
Dim nombreHoja As String
Dim nuevoLibro As Workbook
Application.DisplayAlerts = False
Set nuevoLibro = Workbooks.Add
For i = 0 To Menu.ListBox1.ListCount - 1
If Menu.ListBox1.Selected(i) Then
nombreHoja = Menu.ListBox1.List(i)
libroSeleccionado.Sheets(nombreHoja).Copy After:=nuevoLibro.Sheets(1)
nuevoLibro.Sheets(nombreHoja).Cells.Copy
nuevoLibro.Sheets(nombreHoja).Range("A1").PasteSpecial Paste:=xlPasteAllUsingSourceTheme
nuevoLibro.Sheets(nombreHoja).Range("A1").PasteSpecial Paste:=xlValues
Application.CutCopyMode = False
End If
Next
nuevoLibro.Sheets(1).Delete
libroSeleccionado.Close SaveChanges:=False
nuevoLibro.SaveAs Filename:=ThisWorkbook.Path & "\" & "Libro de copia.xlsx", FileFormat:=51
nuevoLibro.Close
MsgBox "Hojas copiadas correctamente", vbInformation
Unload Menu
End Sub
Muchas gracias, muy bien explicado, queria saber si es posible en lugar de que se agregue la hoja, estas puedan ser copiadas en hojas ya existentes?
Excelente macro. Agradezco poder obtener el código de la macro.
suscrito
¡Gracias!
hola una consulta: un archivo excel tiene filtros por meses - ( se puede seleccionar julio, junio, agosto etc. ) es factible hacer una macro que actue sobre ese filtro, por ejemplo dado un mes que tome ese mes indicado, el mes anterior y el mismo mes pero del año anterior
Te felicito por tu video, muy bien explicado y se que hay muchos videos de este tipo, pero no has considerado realizar un Tutorial para Principiantes (veo que utilizas pasos de macros, botones y vba, muy completo) en Excel y VBA? creo que serias buen Maestro y si lo haces me apunto, vale Saludos Bro
Muchas gracias por tu comentario! Claro que sí, estaré trabajando en ello :D
@@InteligenciaEficiente Vale pues estare al pendiente, Saludos
Excelente video ✔
Tiene alguna macro que oculte las formulas y bloquee las celdas que las contenga❓
Gracias
De momento no, pero es una gran idea, haré un video muy pronto!
Excelente muy buena explicación, y si quisiera que no se copiaran por aparte sino consolidar todos los archivos en uno solo, cambiaria mucho el código?
Muchas gracias Marlyn, te comparto este otro vídeo donde se hace el consolidado, si tienes más comentarios no dudes en escribirme. Saludos :D th-cam.com/video/UhzWa8SrwDk/w-d-xo.html
@@InteligenciaEficiente Uy si ya lo vi esta super interesante, pero respecto a este si necesito que pegue solo los valores, cómo o dónde podría agregar la línea de código.
@@marlynquintero9261 te comparto este vídeo de otro canal, en el minuto 03:46 hace el pegado de solo los valores, saludos!! th-cam.com/video/1G3kmBSh1kQ/w-d-xo.html
Hola, excelente video, quiera saber como se puede crear un macro que copie la informacion de varios archivos de excel a uno solo en diferentes hojas y que permita escoger las hojas que uno requiera copiar
Muchas gracias, pensaré en algo interesante para subir el video.
Excelente sitio. Pudieran ayudarme con una macro que elimine los vinculos externos en un libro Excel. Lo necesito porque al copiar una hoja de un libro se viene con vinculos; pero no necesito los vinculos de esa hoja copiada.
Hola Samuel, te recomendaría que al pegar los valores utilices el método PasteSpecial xlPasteValues para que solo pegue los valores, más información en este enlace: docs.microsoft.com/es-mx/office/vba/api/excel.range.pastespecial
docs.microsoft.com/es-mx/office/vba/api/excel.xlpastetype
Felicitaciones muy buen aporte como ejemplo, ¿Cómo se puede hacer una macro para un Libro Destino con varias hojas con rango de celdas especificas y que requiere contar con los mismos datos de otro libro de varias hojas con rangos de celdas específicas, es decir del "Libro1-Hoja1-Rango Especifico" copiar al "Libro2-Hoja1-Rango Especifico", del "Libro1-Hoja2-Rango Especifico" copiar al "Libro2-Hoja2-Rango Especifico", del "Libro1-Hoja3-Rango Especifico" copiar al "Libro2-Hoja3-Rango Especifico", etc?. De antemano muy agradecido por su repuesta. Saludos desde Puno-Perú. Gracias.
Hola Josué, eso sería una combinación de esta macro junto con otra que explico en mi video más actual donde se ve cómo pasar los valores de diferentes celdas desde un libro de Excel a otro. Te recomiendo que les una revisada! :D th-cam.com/video/gm04zRD4ImE/w-d-xo.html
Excelente presentación, tengo una situación en donde tengo 26 archivos uno por semana y se necesita crear uno nuevo con el resumen de todos ellos, todos tiene el mismo encabezado, el mismo formato y toda la información inicia en la fila b9, y cada semana se debe de agregar información, por lo que se necesita que acumula los datos, ¿me puedes ayudar a crear una macro que pueda realizar este resumen?
Qué tal Luis. Según entiendo lo que haces es consolidar la información de diferentes libros. Si es así esta macro puede ayudarte: th-cam.com/video/UhzWa8SrwDk/w-d-xo.html
Facinado por tus presentaciones, lo ejecuto y te comento, saludos!!
Gracias por tus aportes que me han ayudado demasiado, aprovecho también para ampliar la solicitud de apoyo con los archivos que necesito tener en resumen, casa semana se elabora un archivo de arqueo y este tiene varias hojas entre ellas, el arqueo (donde está el resumen de todo el archivo), los gastos por separado, clarificador en 5 tipos, necesito generar un resumen en global que sea acomulable.
Me puedes proporcionar el correo para detallarte lo que necesito. Saludos
@@luiscastruita8784 Con gusto, te comparto el link de mi página en Facebook para que sigamos el contacto: facebook.com/InteligenciaEficiente/
Hola el vídeo es bueno, pero tengo una consulta. Si mi excel esta en idioma de inglés, lo que se describe en español debería escribirlo en inglés? por ejemplo la palabra libro
¡Hola Raysa! No es necesario que lo escriba en inglés, todo lo que tiene que ver con nombres de variables puede ser escrito en el idioma que mejor le parezca, ¡saludos!
Una duda. Para hacerlo desde un libro de macros personales me da error por el this workbook ni el chat gpt me ha podido ayudar. Ja ja.
Hola Mario! Prueba con ActiveWorkbook en lugar de ThisWorkbook ;)
Probé con eso pero aquí el tema es que cuando corro la macro y selecciono el archivo con las hojas a copiar el libro activo queda el recién abierto y no donde quiero pegar las hojas.
No se si me explique.
Es por decir abro un nuevo libro y desde ahí ejecuto la macro desde la ribbon al yo seleccionar el archivo es el que queda activo y por consiguiente es ahí donde hace la copia.
@@Mar10Bravo tendrías que crear una variable y asignarle el valor del libro activo en ese momento antes de que abran los demás, por ejemplo:
Dim libroDestino as Workbook
Set libroDestino = ActiveWorkbook
Lo hice siguiendo los pasos y tengo un error ya mire muchas veces y no entiendo por que se genera el error, error 91 variable de objeto o bloque with no establecido me sale, y si le pongo depurar dice que la linea que esta mal es for each hoja in libro.sheets
Hola Hugo, tendría que revisar cuál es el problema, puede contactarme a mi correo inteligenciaeficienteYT@gmail.com ¡SALUDOS!
BUENAS NOCHES ESTIMADO, QUISERA HACER UNA CONSULTA PARA PODER REALIZAR LO QUE SE PUEDE APRECIAR EN EL SIGUIENTE LINK DEL VIDEO, HABER SI PUEDE AYUDARME EN TODO LO QUE ESTA RELACIONADO CON EXCEL SEGUN EL VIDEO. SALUDOS. th-cam.com/video/OSkwQnXQGPo/w-d-xo.html , 10.- Planilla de Replanteo con AutoCAD Civil 3D 2018 y TD Excel DG-2014
Hola Richard, si deseas una asesoría más personal puedes escribirme a: inteligenciaeficienteyt@gmail.com SALUDOS!!
@@InteligenciaEficiente ps bien en un momento escribiré a su correo personal
//Modulo
Public libroSeleccionado As Workbook
Sub Principal()
Application.DisplayAlerts = False
Application.ScreenUpdating = False
Dim rutaSeleccionada As Variant
rutaSeleccionada = Application.GetOpenFilename(Title:="Por favor seleccione un libro")
If rutaSeleccionada = "False" Then
Exit Sub
End If
Set libroSeleccionado = Workbooks.Open(rutaSeleccionada)
Call listarHojas(libroSeleccionado)
Load Menu
Menu.Show vbModeless
End Sub
Sub listarHojas(libro As Workbook)
Dim hoja As Worksheet
For Each hoja In libro.Sheets
Menu.ListBox1.AddItem hoja.Name
Next
End Sub
Sub copiarHojas(libro As Workbook)
Dim nombreHoja As String
For i = 0 To Menu.ListBox1.ListCount - 1
If Menu.ListBox1.Selected(i) Then
nombreHoja = Menu.ListBox1.List(i)
libroSeleccionado.Sheets(nombreHoja).Copy After:=ThisWorkbook.Sheets(1)
End If
Next
libroSeleccionado.Close
MsgBox "Hojas copiadas correctamente", vbExclamation
Unload Menu
End Sub
//Formulario
Private Sub btnCopiar_Click()
Call copiarHojas(libroSeleccionado)
End Sub
//Formulario
Private Sub UserForm_Activate()
Me.ListBox1.ListStyle = fmListStyleOption
Me.ListBox1.MultiSelect = fmMultiSelectMulti
End Sub
By: mpv
Gracias capo