Tuve que hacer unas modificaciones para que mi archivo se adaptara a la programación pero ya quedo al 100, vídeos como los tuyos son los que necesitamos los principiantes; te daría más likes pero solo se puede uno. Gracias!
GRACIAS PROFE este video corto, me ayudo ahorrar tiempo y esfuerzo en la impresion de multiples facturas. al principio no me daba, luche y luche, error tras error, hasta que por fin lo logre, me dio el resultado esperado, le agradezco.
Gracias por compartir sus conocimientos. Mi estimado podría hacer un video tutorial con una macro: De como exportar o imprimir en pdf un archivo excel de un informe con la última fila con datos en caso que el informe se incremente con más datos; Así mismo se guarde el nombre del archivo según se especifique en una celda, como también el pdf se guarde en la misma ruta donde está el archivo excel de la macro. Gracias de antemano.
Muchas gracias por el video. Una pregunta, para imprimir solo las facturas que muestre un filtro activo (con las facturas de Madrid por ejemplo)... ¿Se podría hacer? Gracias de nuevo.
Eso es generar un bucle desde una validación de datos. ¿no? Hicimos un vídeo que creo que es lo que necesitas: ruclips.net/video/Wslvp-LmIHw/видео.html
Hola muchas gracias 😊, quisiera saber si esto se puede aplicar a una tabla dinámica o no se si exista otra manera ya que en mi caso es para enviar detalles de pago por lo cual son varias líneas que coinciden con el número del proveedor, si me puedes ayudar por favor
En el código añade un elemento de selección. Puedes apoyarte del grabador de macros Las tablas se seleccionan con Control + * Si seleccionas la tabla antes y en la impresión le dices imprimir solo la selección te debería funcionar
@@AprendizdeExcel estoy combinando dos vídeos tuyo , porque tengo un Excel de ventas y nombre de personas que me han pedido por un marketplace que no proporciona factura y claro hacer todas esas facturas es un trabajo amplio , gracias por tus vídeos. Me está costando pero ya lo resolveré
Saludos desde Colombia, excelente trabajo, explica los temas de manera sencilla y concreta realmente. me gustaría que por favor me indicara cual es el video al que se refiere al principio del video 0:05 para verlo también. muchas gracias y mil felicitaciones por tan buena labor
si lo estoy haciendo, pero la info que tengo en la hoja del excel no cabe en el pdf como hago para que este no se divida en varias hojas y solo salga en 1?
En la misma hoja si tu área de impresión incluye varias hojas te lo saca como un solo PDF. Si recorre varis hojas distintas no. Tendrías que unirlas después. Se puede hacer desde Excel, pero para eso necesitas tener un programa instalado que lo permitiera y después decirle a Excel que lo haga
Profe no tengo claro como puedo delimitar un area de impresión porque me sale todod perfecto pero me sale el boton imprimir y todo como lo puedo delimitar. Muchas gracias de ante mano
Excelente video muy util el aporte.. consulta si en vez de guardarlo en pdf directamente lo quiero mandar a imprimir que debería cambiar en el codigo de la macros? Gracias
Muchas gracias por compartir el conocimiento. Me funcionó tal y como se presenta en el vídeo. Tengo una inquietud: ¿es posible que la ubicación a la cual van ir los PDF creados no sea fija sino que varíe así como en la lista desplegable? Lo que necesito lograr es que cada PDF vaya a una carpeta diferente que corresponde a los archivos de cada cliente en particular. Pensaba hacerlo utilizando la lista desplegable ya creada en la macro pero no tengo suficiente conocimiento como para lograrlo.
Hola Juan, si se puede. Si has conseguido ejecutar el ejercicio ni tan mal. Tienes más nivel que la media 😉 Podrías aprovechar la tabla de clientes y añadirle una columna con la dirección que van a tener y después traertela a la casilla que quieras, por ejemplo a M1 con un buscarv o como quieras. En ese caso el código te quedaría así: ------------- Sub ImprimirPDF() Sheets("Factura").Select Dim xRg As Range Dim xCell As Range Dim Lista As Range Set xRg = Worksheets("Factura").Range("L1") Set Lista = Evaluate(xRg.Validation.Formula1) For Each xCell In Lista xRg = xCell.Value valorCelda = Worksheets("Factura").Range("M1").Value ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=valorCelda, _ Quality:=xlQualityStandard, IncludeDocProperties:=True, _ IgnorePrintAreas:=False, OpenAfterPublish:=False Next
@@AprendizdeExcel Hola, De nuevo, gracias por responder. Lo logré utilizando el mismo concepto de validación de datos. A mi tabla le añadí la ruta y puse una casilla adicional. RutaArchivo =Worksheets("Mi hoja").Range("K2").Value & "\" & valorCelda & ".pdf" Esa celda K2 es una búsqueda con base en la primera lista desplegable y relacionada a la tabla y me funcionó. Me son muy útiles tus vídeos, créeme que me han facilitado las labores un montón. 👍
Hola!, Esta super bueno el video, pero aparece este error: '-2147024773 (8007007b)' en tiempo de ejecución y si le doy depurar me marca en amarillo: ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=RutaArchivo, _ Quality:=xlQualityStandard, IncludeDocProperties:=True, _ IgnorePrintAreas:=False, OpenAfterPublish:=False. Que hago?? Gracias!
@@AprendizdeExcel No me tomaba la ruta del archivo! sin embargo le pregunto, en la lista tengo espacios vacios, como puedo hacer para que no me tome esos espacios? Gracias!
excelente, esto nos ahorrara mucho tiempo...... estoy que entro recien a eso de las macros........ una pregunta profe.... algun tutorial en relacion a este video....... como genero la base de datos donde esta la relacion de facturas ....... por ejem ahi en su hoja "FACTURAS" no figura el producto que vendio ... supongo eso jala de otra base datos, como ahi veo su hoja "FACTURA" ------que solo coloca un numero y automatico sale la data que corresponde a esa factura....... si me pudiera ayudar por favor algun tutorial de referencia .....gracias antemano
Hola, estoy intentando ejecutar ese código pero cuando le doy a imprimir 40 facturas, me las guarda todas con los mismos datos, no me cambia el nombre del cliente, nº de factura etc etc. Cómo podría hacer?
Para entenderlo mejor, te guarda 40 ficheros con nombres distintos pero que dentro tiene la misma factura, ¿es así? ¿Es probable que todas sean la primera factura? Eso querría decir que el cambio de nombre del fichero te lo hace bien y la impresión también. Lo que te falla es la vinculación de las facturas. ¿Has puesto los buscarv para que se cambie la factura en función de tu base de datos?
@@AprendizdeExcel Exactamente, debe salir un pdf independiente como muestra en el video, pero la hoja tiene tamaños diferentes, le podría enviar mi archivo para que lo revise?
Buen día, tengo un problema al ejecutar la macro, al depurar me señala "Set Lista = Evaluate(xRg.Validation.Formula1)", la celda donde esta la supuesta lista es dependiente, es decir, tiene una función =Indirecto(otra celda), ¿Cómo sería el código en este caso? Agradezco la respuesta, muy util los videos que se comparten Saludos
Hola Omar, ¿has probado con la grabadora de macros? Lo normal es que te vaya cambiando de hojas con un estilo así: Sheets("Factura").Select Y luego te ponga el código similar a este: ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=RutaArchivo, _ Quality:=xlQualityStandard, IncludeDocProperties:=True, _ IgnorePrintAreas:=False, OpenAfterPublish:=False Vete adaptando por cada hoja la Ruta de archivo que necesites
@@AprendizdeExcel muchas gracias! En el video de la macro que los manda por correo como agrego la firma del correo porque me hizo los correos pero ninguno tiene la firma de outlook
Muchas gracias, un tutorial muy bien explicado, muy útil. ¿Es posible una macro que funcione para imprir múltiples pdf, pero cuando tienes una lista variable dependiente en la celda L1? He intentado transformar la de este tutorial, sin éxito, me pregunto si a lo mejor estoy perdidndo el tiempo....(me pasa mucho 😀) Gracias!!
Hola Bea. Muchas gracias! Debería funcionar aunque la lista sea dependiente (lo acabo de probar). ¿Es posible que no estés asignando bien los nombres de los nuevos PDF? Es decir, es posible que sea siempre el mismo y por eso no genere nombres nuevos?
Hola! Antes de nada darte las gracias por tomarte el tiempo de leer y responder a mi comentario. Revisé lo que me dices, y no llego a encontrar el error. Cuando en la validación de datos de la celda L1 elijo 'lista' y asigno un rango de datos, la macro imprime los pdf correspondientes, sin problemas. En cambio, cuando en la validación utilizo la función INDIRECTO, la macro da error, y al darle a depurar, apunta a la línea Set Lista = Evaluate(xRg.Validation.Formula1) ¿Qué estoy haciendo mal? Gracias de nuevo!
De nada Bea! Hice la prueba y me funcionaba con una validación dependiente de un nombre, pero no usé indirecto en mi prueba. Con indirecto me falla a mi también. Yo lo probé directamente como =lista Sin poner =indirecto(A1) o la celda donde lo tengas. Por tanto, la lista a un nombre funciona, pero no usando el indirecto. Lo puedes resolver definiendo un nuevo nombre usando desref Es decir, traer los datos que quieras mostrar en una columna auxiliar de tal manera: =SI.ERROR(INDICE(INDIRECTO($N$1);FILA());0) *Supongo que en N1 tienes tu lista dependiente. Ahí tendrás una columna con los datos y podrás definir un nuevo nombre con un desref y contar.si que meter en tu lista desplegable
Hola, muchas gracias por compartir este interesante contenido! Tengo un problema a la hora de ejecutar la macro, no se si a alguien que lo intentó hacer le ocurre lo mismo, y no se que puedo hacer para solucionarlo. Tras cambiar dentro del módulo de la macro las celdas, nombre de mi pestaña de excel... la ejecuto y me aparece este mensaje: " Se ha producido el error 1004 en tiempo de ejecución: Fallo en el método `Fórmula1´de objeto `Validation´". Posiblemente sea algo sencillo que se me escapa, pero es la primera vez que utilizo VBA si alguien supiera resolverme la duda le agradecería enormemente. Muchas gracias.
Hola Jorge, gracias por comentar. Lo más probable es que el nombre del archivo lo estés referenciado a celdas vacías. Comprueba que está bien, no solo la celda, si no la hoja (pestaña) en la que debe buscarlo. Por otro lado, hay una comprobación que puedes hacer con el código. Con F8 puede ejecutar con depuración y ver línea por línea lo que hace. Comprueba lo que va haciendo y dónde falla
@@AprendizdeExcel Muchas gracias ya consigo que me recorra la macro todo el fichero era por un fallo al poner las celdas que tenia que seleccionar, sin embargo, no me crea los PDFs ni en la carpeta donde tengo guardada la hoja excel con la que trabajo ni en el escritorio. Sabrías decirme por qué? Te pego mi macro a ver si ves algún tipo de error en ella. He probado en MAC y en windows. En Mac me imprime todos los archivos con la impresora, en windows no pero tampoco me los guarda en ningún sitio... Sub ImprimirPDF() Sheets("FAC").Select Dim xRg As Range Dim xCell As Range Dim Lista As Range Set xRg = Worksheets("FAC").Range("P2") Set Lista = Evaluate(xRg.Validation.Formula1) For Each xCell In Lista xRg = xCell.Value valorCelda = Worksheets("FAC").Range("O2").Value RutaArchivo = ActiveWorkbook.Path & "\" & valorCelda & ".pdf" ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, FileName:=RutaArchivo, _ Quality:=xlQualityStandard, IncludeDocProperties:=True, _ IgnorePrintAreas:=False, OpenAfterPublish:=False Next End Sub
Me alegro que hayamos solucionado un problema. Vamos por el segundo ;) No te imprime o parece no imprimirte. Entiendo que el área de impresión está bien hecha, de no hacerla tb debería imprimirte algo. Entiendo que el nombre de fichero no está utilizado y abierto, porque generaría un error Entiendo que la lista de validación está bien hecha, porque si no te generaría un error si corriera un listado vacío. Lo más probable es que te esté imprimiendo en otro sitio La ruta de la carpeta de donde está el archivo de Excel lo coge con esta instrucción "ActiveWorkbook.Path" que en principio está bien en tu código, lo que lo mismo no está bien es ubicada la Excel. En VBA hay un pestaña que pone depuración y después "Paso a paso por instrucciones". Con ese comando ejecuta poco a poco y cuando marca una línea del código la anterior ya está ejecutada y te puedes poner encima de ella. Pasa hasta ruta de archivo (supera esa línea) y ponte sobre RutaArchivo y a ver qué URL pone. SI pone algo raro, una barra cambiada o algo hay que corregirlo. Por otro lado, como comento en los vídeos, para resolver esto puedes cambiar la ruta de archivo a mano. Donde pone esto: RutaArchivo = ActiveWorkbook.Path & "\" & valorCelda & ".pdf" Puedes cambiar la primera parte y dejarlo fijo donde quieras. Por ejemplo así: RutaArchivo = "C:\Excel\AquiTuRuta" & valorCelda & ".pdf"
@@AprendizdeExcel UNA CONSULTA, QUIERO QUE EL ARCHIVO ME LO GUARDE CON EL NOMBRE DEL OPERADOR_NUMERO DE VIAJE_FECHA EN LA QUE SE GENERA DICHO VIAJE REALIZE LA SIGUENTE FORMULA EN LA CELDA AH1 =BUSCARV($O2,A2:N1048576,13,0) EN LA CUAL ME TRAE LA INFORMACION QUE NECESITO POSTERIORMENTE REALIZE UNA CONCATENACION =CONCATENAR(C2,"_",F2,"_",TEXTO(B2,"DD/MMM/AAA")) ESTO ESTA EN LA CELDA AH2 QUE ES COMO QUIERO QUE ME GUARDE EL DOCUMENTO PERO AL GENERAR EL PDF ME MARCA EL SIGUIENTE ERROR se ha producido el error "1004" en tiempo de ejecución: No de ha guardado el documento. puede que el documento este abierto o se haya encontrado un error al guardar . REALIZE LA SIGUENTE FORMULA =CONCATENAR(C2," ",F2) Y ME LO GUARDA CON EL NOMBRE Y MOVIL SIN LA FECHA SI ME GUARDA LA INFORMACION ESTO IGUAL EN LA CELDA AH2 B2=FECHA DE VIAJE C2= NOMBRE DEL OPERADOR F2=NUMERO DE VIAJE H1=NOMBRE DE ARCHIVO LUIS MARTINEZ_M175062-031221-1_03/dic/2021 H2=MAYUSC(AH1) LUIS MARTINEZ_M175062-211130-1_03/DIC/2021 CABE MENCIONAR QUE EN AMBOS CASOS MANTENGO LA SIGUIENTE LINEA EL CUAL valorCelda = Worksheets("CONTROL").Range("AH2").Value YA REALIZE PASO POR PASO HASTA AQUI ME APARECE EN AMARILLO ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=RutaArchivo, _ Quality:=xlQualityStandard, IncludeDocProperties:=True, _ IgnorePrintAreas:=False, OpenAfterPublish:=False Y ME MARCA EL ERROR ESPERO ME PUEDA APOYAR A SOLUCIONAR ESTE PROBLEMA
Hola Rogger, mira, destaco una parte del mensaje que pones: "SIN LA FECHA SI ME GUARDA LA INFORMACION" Y me remito a la respuesta más repetida en el vídeo de cambiar el nombre a los archivos. ¿Has comprobado que realmente puedes poner ese nombre? Intuyo que las barras de las fechas van a dar error en el sistema de Windows. Si así fuera, prueba a cambiar las barras del separador de fecha por guiones o puntos. Salu2
Imprimir se puede imprimir a papel o imprimir en PDF Lo que se puede hacer es pegar como imágenes en Power Point o en Word. Te dejo el vídeo del Power Point por si es de tu interés: ruclips.net/video/F_r9luwoA0E/видео.html Si lo que quieres es vincular a un Word un gráfico este vídeo te puede ayudar: ruclips.net/video/cnEvtCIRtvI/видео.html Y si quieres vincular registros mediante correspondencia esto te puede interesar: ruclips.net/video/BXzOiffyRXo/видео.html Salu2
Si te ha gustado este vídeo puedes ver más en el Curso de Excel avanzado 🔥🔥🔥
cutt.ly/JnHy9yG
Tuve que hacer unas modificaciones para que mi archivo se adaptara a la programación pero ya quedo al 100, vídeos como los tuyos son los que necesitamos los principiantes; te daría más likes pero solo se puede uno. Gracias!
Gracias ☺️
GRACIAS PROFE este video corto, me ayudo ahorrar tiempo y esfuerzo en la impresion de multiples facturas. al principio no me daba, luche y luche, error tras error, hasta que por fin lo logre, me dio el resultado esperado, le agradezco.
Gracias You!
Está súper genial, me salió perfecto para mí que no se VBA. Muchas gracias.
Me alegro Edgar.
Muchas gracias por comentarlo 😉
A simple vista parecia complicado... pero funciono super bien..
Saludos y Gracias por el contenido
🙌
Excelente. Muchas Gracias. Esto es muy pero que muy útil
Gracias!
Excelente video!! Super funcional. Gracias!
Gracias Cielo!
Muchas gracias por el tutorial 👍
Gracias Jorge!
Una pregunta, cómo sería para que no lo imprimiera en distintos pdfs sino en uno solo
hola como hago para realizar la misma funcion pero sin guardar el pdf si no imprimirlo de una vez
Excelente!!!!!!!!!!
☺️
Muy bueno
Gracias 😊
Gracias por compartir sus conocimientos. Mi estimado podría hacer un video tutorial con una macro: De como exportar o imprimir en pdf un archivo excel de un informe con la última fila con datos en caso que el informe se incremente con más datos; Así mismo se guarde el nombre del archivo según se especifique en una celda, como también el pdf se guarde en la misma ruta donde está el archivo excel de la macro. Gracias de antemano.
Muchas gracias por el video. Una pregunta, para imprimir solo las facturas que muestre un filtro activo (con las facturas de Madrid por ejemplo)... ¿Se podría hacer? Gracias de nuevo.
Eso es generar un bucle desde una validación de datos. ¿no?
Hicimos un vídeo que creo que es lo que necesitas:
ruclips.net/video/Wslvp-LmIHw/видео.html
Hola muchas gracias 😊, quisiera saber si esto se puede aplicar a una tabla dinámica o no se si exista otra manera ya que en mi caso es para enviar detalles de pago por lo cual son varias líneas que coinciden con el número del proveedor, si me puedes ayudar por favor
En el código añade un elemento de selección.
Puedes apoyarte del grabador de macros
Las tablas se seleccionan con Control + *
Si seleccionas la tabla antes y en la impresión le dices imprimir solo la selección te debería funcionar
Me aparece un error de automatización 2147024773 (8007007b) en tiempo ejecucion, me puede ayudar??
Ayuda me sale error 1004
En la 5ta fila en set lista=evaluate
Profesor y si necesito que lo haga hasta que el valor de una celda este en blanco?
Con un bucle While.
Te dejo un vídeo dónde se explican los bucles y las estructuras de control:
ruclips.net/video/KLAYln9BXMk/видео.html
Una pregunta cuál es el primer vídeo para hacer todo el comando de las facturas? Gracias
¿Este vídeo?
ruclips.net/video/lteAQRo1Pig/видео.html
@@AprendizdeExcel estoy combinando dos vídeos tuyo , porque tengo un Excel de ventas y nombre de personas que me han pedido por un marketplace que no proporciona factura y claro hacer todas esas facturas es un trabajo amplio , gracias por tus vídeos. Me está costando pero ya lo resolveré
Saludos desde Colombia, excelente trabajo, explica los temas de manera sencilla y concreta realmente.
me gustaría que por favor me indicara cual es el video al que se refiere al principio del video 0:05 para verlo también.
muchas gracias y mil felicitaciones por tan buena labor
Gracias!!
Creo que es este archivo el que buscas:
ruclips.net/video/UgNzxwO9p_M/видео.html
si lo estoy haciendo, pero la info que tengo en la hoja del excel no cabe en el pdf como hago para que este no se divida en varias hojas y solo salga en 1?
En la misma hoja si tu área de impresión incluye varias hojas te lo saca como un solo PDF.
Si recorre varis hojas distintas no. Tendrías que unirlas después.
Se puede hacer desde Excel, pero para eso necesitas tener un programa instalado que lo permitiera y después decirle a Excel que lo haga
Profe no tengo claro como puedo delimitar un area de impresión porque me sale todod perfecto pero me sale el boton imprimir y todo como lo puedo delimitar. Muchas gracias de ante mano
Lo delimitas desde la configuración previa, en disposición de página.
Excelente video muy util el aporte.. consulta si en vez de guardarlo en pdf directamente lo quiero mandar a imprimir que debería cambiar en el codigo de la macros? Gracias
Justo iba a preguntar eso; has encontrado una forma?
Muchas gracias por compartir el conocimiento.
Me funcionó tal y como se presenta en el vídeo.
Tengo una inquietud: ¿es posible que la ubicación a la cual van ir los PDF creados no sea fija sino que varíe así como en la lista desplegable?
Lo que necesito lograr es que cada PDF vaya a una carpeta diferente que corresponde a los archivos de cada cliente en particular. Pensaba hacerlo utilizando la lista desplegable ya creada en la macro pero no tengo suficiente conocimiento como para lograrlo.
Hola Juan, si se puede.
Si has conseguido ejecutar el ejercicio ni tan mal. Tienes más nivel que la media 😉
Podrías aprovechar la tabla de clientes y añadirle una columna con la dirección que van a tener y después traertela a la casilla que quieras, por ejemplo a M1 con un buscarv o como quieras. En ese caso el código te quedaría así:
-------------
Sub ImprimirPDF()
Sheets("Factura").Select
Dim xRg As Range
Dim xCell As Range
Dim Lista As Range
Set xRg = Worksheets("Factura").Range("L1")
Set Lista = Evaluate(xRg.Validation.Formula1)
For Each xCell In Lista
xRg = xCell.Value
valorCelda = Worksheets("Factura").Range("M1").Value
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=valorCelda, _
Quality:=xlQualityStandard, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, OpenAfterPublish:=False
Next
End Sub
@@AprendizdeExcel Hola,
De nuevo, gracias por responder.
Lo logré utilizando el mismo concepto de validación de datos. A mi tabla le añadí la ruta y puse una casilla adicional.
RutaArchivo =Worksheets("Mi hoja").Range("K2").Value
& "\" & valorCelda & ".pdf"
Esa celda K2 es una búsqueda con base en la primera lista desplegable y relacionada a la tabla y me funcionó.
Me son muy útiles tus vídeos, créeme que me han facilitado las labores un montón. 👍
Genial! Felicidades!
Gracias por comentarlo!
Una consulta: ¿es posible generar una macro que envíe a imprimir de manera secuencial los PDF generados con la macro anterior?
¿Y si las imprimes directamente?
Añade este código al bucle
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
Hola!, Esta super bueno el video, pero aparece este error: '-2147024773 (8007007b)' en tiempo de ejecución y si le doy depurar me marca en amarillo: ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=RutaArchivo, _
Quality:=xlQualityStandard, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, OpenAfterPublish:=False. Que hago?? Gracias!
Ya puede solucionarlo! Muchas gracias por tu formula! me ayudo mucho
Genial!
Lo acabo de ver. ¿Era la ruta de archivo con un nombre que no podía componer u otra cosa?
@@AprendizdeExcel No me tomaba la ruta del archivo! sin embargo le pregunto, en la lista tengo espacios vacios, como puedo hacer para que no me tome esos espacios? Gracias!
@@pedidosfluyeoils2584 Puedes probar con
=SUSTITUIR(A1;" ";"")
excelente, esto nos ahorrara mucho tiempo...... estoy que entro recien a eso de las macros........ una pregunta profe.... algun tutorial en relacion a este video....... como genero la base de datos donde esta la relacion de facturas ....... por ejem ahi en su hoja "FACTURAS" no figura el producto que vendio ... supongo eso jala de otra base datos, como ahi veo su hoja "FACTURA" ------que solo coloca un numero y automatico sale la data que corresponde a esa factura....... si me pudiera ayudar por favor algun tutorial de referencia .....gracias antemano
Tengo un vídeo muy antiguo en el que explica el buscarv y cómo hacer una factura:
ruclips.net/video/Hvcq8qrYvtk/видео.html
como exportar tods los pdf fr la lista desplegable en un solo archivó
Hola, estoy intentando ejecutar ese código pero cuando le doy a imprimir 40 facturas, me las guarda todas con los mismos datos, no me cambia el nombre del cliente, nº de factura etc etc. Cómo podría hacer?
Para entenderlo mejor, te guarda 40 ficheros con nombres distintos pero que dentro tiene la misma factura, ¿es así?
¿Es probable que todas sean la primera factura?
Eso querría decir que el cambio de nombre del fichero te lo hace bien y la impresión también. Lo que te falla es la vinculación de las facturas. ¿Has puesto los buscarv para que se cambie la factura en función de tu base de datos?
@@AprendizdeExcel exacto, todas iguales pero con distinto nombre
@@AprendizdeExcel Ahora ya me funciona, no he tocado nada pero ahora funciona. Muchas gracias por el aporte
Encender y apagar. De primero de informática 😅
Me alegro que te funcione. Gracias por suscribirte 😉
profe tiene el archivo de excel?
Interesante, y si debajo de ese archivo se tuviera distintas áreas a imprimir, como se haría?
Puedes hacer que la macro recorra varias áreas de impresión y las saque, pero sería un PDF nuevo que posteriormente deberías unir
@@AprendizdeExcel Exactamente, debe salir un pdf independiente como muestra en el video, pero la hoja tiene tamaños diferentes, le podría enviar mi archivo para que lo revise?
Es decir tiene archivos de diferentes tamaños la misma hoja.
No hago trabajos por encargo.
Puedes decirle al código que seleccione un área, que la imprima en PDF, que seleccione otra, que la imprima, así
@@AprendizdeExcel Perdón si lo ofendí, de todos modos gracias por la información, seguiré intentando. Por cierto muy bueno sus videos.
Buen día, tengo un problema al ejecutar la macro, al depurar me señala "Set Lista = Evaluate(xRg.Validation.Formula1)", la celda donde esta la supuesta lista es dependiente, es decir, tiene una función =Indirecto(otra celda), ¿Cómo sería el código en este caso?
Agradezco la respuesta, muy util los videos que se comparten
Saludos
Me pasa lo mismo. pudiste resolver=? gracias
Como puedo hacer que forme pdf 1 por cada hoja que hay en el archivo?
Hola Omar, ¿has probado con la grabadora de macros?
Lo normal es que te vaya cambiando de hojas con un estilo así:
Sheets("Factura").Select
Y luego te ponga el código similar a este:
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=RutaArchivo, _
Quality:=xlQualityStandard, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, OpenAfterPublish:=False
Vete adaptando por cada hoja la Ruta de archivo que necesites
@@AprendizdeExcel muchas gracias!
En el video de la macro que los manda por correo como agrego la firma del correo porque me hizo los correos pero ninguno tiene la firma de outlook
En este vídeo está explicado
ruclips.net/video/ULTbreSw2bU/видео.html
Muchas gracias, un tutorial muy bien explicado, muy útil.
¿Es posible una macro que funcione para imprir múltiples pdf, pero cuando tienes una lista variable dependiente en la celda L1?
He intentado transformar la de este tutorial, sin éxito, me pregunto si a lo mejor estoy perdidndo el tiempo....(me pasa mucho 😀)
Gracias!!
Hola Bea. Muchas gracias!
Debería funcionar aunque la lista sea dependiente (lo acabo de probar).
¿Es posible que no estés asignando bien los nombres de los nuevos PDF?
Es decir, es posible que sea siempre el mismo y por eso no genere nombres nuevos?
Hola! Antes de nada darte las gracias por tomarte el tiempo de leer y responder a mi comentario.
Revisé lo que me dices, y no llego a encontrar el error.
Cuando en la validación de datos de la celda L1 elijo 'lista' y asigno un rango de datos, la macro imprime los pdf correspondientes, sin problemas. En cambio, cuando en la validación utilizo la función INDIRECTO, la macro da error, y al darle a depurar, apunta a la línea
Set Lista = Evaluate(xRg.Validation.Formula1)
¿Qué estoy haciendo mal?
Gracias de nuevo!
De nada Bea!
Hice la prueba y me funcionaba con una validación dependiente de un nombre, pero no usé indirecto en mi prueba. Con indirecto me falla a mi también.
Yo lo probé directamente como
=lista
Sin poner
=indirecto(A1) o la celda donde lo tengas.
Por tanto, la lista a un nombre funciona, pero no usando el indirecto.
Lo puedes resolver definiendo un nuevo nombre usando desref
Es decir, traer los datos que quieras mostrar en una columna auxiliar de tal manera:
=SI.ERROR(INDICE(INDIRECTO($N$1);FILA());0)
*Supongo que en N1 tienes tu lista dependiente.
Ahí tendrás una columna con los datos y podrás definir un nuevo nombre con un desref y contar.si que meter en tu lista desplegable
Te grabo un vídeo, que quizás sea más sencillo
Echa un vistazo
ruclips.net/video/Wslvp-LmIHw/видео.html
Hola, muchas gracias por compartir este interesante contenido! Tengo un problema a la hora de ejecutar la macro, no se si a alguien que lo intentó hacer le ocurre lo mismo, y no se que puedo hacer para solucionarlo. Tras cambiar dentro del módulo de la macro las celdas, nombre de mi pestaña de excel... la ejecuto y me aparece este mensaje: " Se ha producido el error 1004 en tiempo de ejecución: Fallo en el método `Fórmula1´de objeto `Validation´". Posiblemente sea algo sencillo que se me escapa, pero es la primera vez que utilizo VBA si alguien supiera resolverme la duda le agradecería enormemente. Muchas gracias.
Hola Jorge, gracias por comentar.
Lo más probable es que el nombre del archivo lo estés referenciado a celdas vacías. Comprueba que está bien, no solo la celda, si no la hoja (pestaña) en la que debe buscarlo.
Por otro lado, hay una comprobación que puedes hacer con el código. Con F8 puede ejecutar con depuración y ver línea por línea lo que hace. Comprueba lo que va haciendo y dónde falla
@@AprendizdeExcel Muchas gracias ya consigo que me recorra la macro todo el fichero era por un fallo al poner las celdas que tenia que seleccionar, sin embargo, no me crea los PDFs ni en la carpeta donde tengo guardada la hoja excel con la que trabajo ni en el escritorio. Sabrías decirme por qué? Te pego mi macro a ver si ves algún tipo de error en ella. He probado en MAC y en windows. En Mac me imprime todos los archivos con la impresora, en windows no pero tampoco me los guarda en ningún sitio...
Sub ImprimirPDF()
Sheets("FAC").Select
Dim xRg As Range
Dim xCell As Range
Dim Lista As Range
Set xRg = Worksheets("FAC").Range("P2")
Set Lista = Evaluate(xRg.Validation.Formula1)
For Each xCell In Lista
xRg = xCell.Value
valorCelda = Worksheets("FAC").Range("O2").Value
RutaArchivo = ActiveWorkbook.Path & "\" & valorCelda & ".pdf"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, FileName:=RutaArchivo, _
Quality:=xlQualityStandard, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, OpenAfterPublish:=False
Next
End Sub
Me alegro que hayamos solucionado un problema. Vamos por el segundo ;)
No te imprime o parece no imprimirte.
Entiendo que el área de impresión está bien hecha, de no hacerla tb debería imprimirte algo.
Entiendo que el nombre de fichero no está utilizado y abierto, porque generaría un error
Entiendo que la lista de validación está bien hecha, porque si no te generaría un error si corriera un listado vacío.
Lo más probable es que te esté imprimiendo en otro sitio
La ruta de la carpeta de donde está el archivo de Excel lo coge con esta instrucción "ActiveWorkbook.Path" que en principio está bien en tu código, lo que lo mismo no está bien es ubicada la Excel.
En VBA hay un pestaña que pone depuración y después "Paso a paso por instrucciones". Con ese comando ejecuta poco a poco y cuando marca una línea del código la anterior ya está ejecutada y te puedes poner encima de ella. Pasa hasta ruta de archivo (supera esa línea) y ponte sobre RutaArchivo y a ver qué URL pone. SI pone algo raro, una barra cambiada o algo hay que corregirlo.
Por otro lado, como comento en los vídeos, para resolver esto puedes cambiar la ruta de archivo a mano. Donde pone esto:
RutaArchivo = ActiveWorkbook.Path & "\" & valorCelda & ".pdf"
Puedes cambiar la primera parte y dejarlo fijo donde quieras. Por ejemplo así:
RutaArchivo = "C:\Excel\AquiTuRuta" & valorCelda & ".pdf"
Cuál es el link del primer video, de antemano muchas gracias
Está colocado en una tarjeta.
Es este:
ruclips.net/video/UgNzxwO9p_M/видео.html
@@AprendizdeExcel MUCHAS GRACIAS ME SIRVIO MUCHO!!!! MIL GRACIAS ME SUSCRIBO
Perfecto! Me alegro!!
Gracias por comentarlo 😉
@@AprendizdeExcel UNA CONSULTA, QUIERO QUE EL ARCHIVO ME LO GUARDE CON EL NOMBRE DEL OPERADOR_NUMERO DE VIAJE_FECHA EN LA QUE SE GENERA DICHO VIAJE
REALIZE LA SIGUENTE FORMULA EN LA CELDA AH1
=BUSCARV($O2,A2:N1048576,13,0)
EN LA CUAL ME TRAE LA INFORMACION QUE NECESITO
POSTERIORMENTE REALIZE UNA CONCATENACION
=CONCATENAR(C2,"_",F2,"_",TEXTO(B2,"DD/MMM/AAA")) ESTO ESTA EN LA CELDA AH2 QUE ES COMO QUIERO QUE ME GUARDE EL DOCUMENTO
PERO AL GENERAR EL PDF ME MARCA EL SIGUIENTE ERROR
se ha producido el error "1004" en tiempo de ejecución:
No de ha guardado el documento. puede que el documento este abierto o se haya encontrado un error al guardar .
REALIZE LA SIGUENTE FORMULA
=CONCATENAR(C2," ",F2)
Y ME LO GUARDA CON EL NOMBRE Y MOVIL
SIN LA FECHA SI ME GUARDA LA INFORMACION ESTO IGUAL EN LA CELDA AH2
B2=FECHA DE VIAJE
C2= NOMBRE DEL OPERADOR
F2=NUMERO DE VIAJE
H1=NOMBRE DE ARCHIVO LUIS MARTINEZ_M175062-031221-1_03/dic/2021
H2=MAYUSC(AH1) LUIS MARTINEZ_M175062-211130-1_03/DIC/2021
CABE MENCIONAR QUE EN AMBOS CASOS MANTENGO LA SIGUIENTE LINEA
EL CUAL valorCelda = Worksheets("CONTROL").Range("AH2").Value
YA REALIZE PASO POR PASO HASTA AQUI ME APARECE EN AMARILLO
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=RutaArchivo, _
Quality:=xlQualityStandard, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, OpenAfterPublish:=False
Y ME MARCA EL ERROR
ESPERO ME PUEDA APOYAR A SOLUCIONAR ESTE PROBLEMA
Hola Rogger, mira, destaco una parte del mensaje que pones:
"SIN LA FECHA SI ME GUARDA LA INFORMACION"
Y me remito a la respuesta más repetida en el vídeo de cambiar el nombre a los archivos.
¿Has comprobado que realmente puedes poner ese nombre?
Intuyo que las barras de las fechas van a dar error en el sistema de Windows.
Si así fuera, prueba a cambiar las barras del separador de fecha por guiones o puntos.
Salu2
no puedo hacerlo en mac :(
no pude :( mi nivel en excel es más atrasado pero necesito esta función para un trabajo
hay una forma de realizarlo pero que imprima en word
Imprimir se puede imprimir a papel o imprimir en PDF
Lo que se puede hacer es pegar como imágenes en Power Point o en Word.
Te dejo el vídeo del Power Point por si es de tu interés:
ruclips.net/video/F_r9luwoA0E/видео.html
Si lo que quieres es vincular a un Word un gráfico este vídeo te puede ayudar:
ruclips.net/video/cnEvtCIRtvI/видео.html
Y si quieres vincular registros mediante correspondencia esto te puede interesar:
ruclips.net/video/BXzOiffyRXo/видео.html
Salu2