Impresión Múltiple en Excel con macro (Parte 1)

En esta entrada vamos a ver cómo pueden construir una macro que ayude a crear “impresiones múltiples en Excel” o también “impresiones automáticas en Excel”.

En muchas ocasiones tenemos bases de datos extensas que visualizamos mediante un formulario u otra planilla refiriéndonos a ellos por medio de un código. En particular nos referimos a aquellos casos en que luego de identificado el elemento deseamos imprimirlo. Generalmente hacemos varias impresiones de un rango determinado, este trabajo puede ser bastante tedioso si se trata de muchos elementos.

Como siempre voy a dar un ejemplo práctico. Para eso utilizo una planilla anterior con unas modificaciones, la planilla de “catalogo de imágenes en Excel” en la que teníamos una base de datos de productos. Haciendo unas modificaciones, tenemos una base de datos de clientes. A cada cliente se le entrega una credencial. Supongamos que dicha credencias tiene periodo de caducidad por lo que cada 6 meses hay que imprimir nuevas credenciales para nuestros clientes.

Como vemos tenemos un modelo de credencial,  tiene 4 campos, socio n°, teléfono, dirección y e-mail, para el ejemplo se utilizan estos campos básicos, puede tener otros campos. Además la credencial tiene incluida una foto del socio.

En este ejemplo en particular tenemos una base de datos de 3 socios pero pueden ser cientos. Si tenemos 100 socios, tendríamos que imprimir la credencial cambiando el núm. de socio, luego yendo a vista preliminar, luego a imprimir. Como ven sería algo demasiado, disculpen utilizar de nuevo la palabra,  tedioso. Para simplificar el trabajo y hacer que sea algo automático y sencillo, además de ahorrarnos tiempo, mientras imprime podemos hacer otra cosa, es que se hizo esta mini aplicación.

Tenemos un botón “imprimir” además se utilizan dos celdas para indicar desde que numero de socio a que numero de socio imprimir. Para este ejemplo utilizamos 4 cifras, es decir podríamos tener 9999 socios.

El botón imprimir tiene asociada una macro, dicha macro utiliza el método “PrintOut”. Este método tiene varios parámetros pero para esta oportunidad lo vamos a utilizar en su forma más simple.

 
El código a utilizar es el siguiente:
------------------------------------------------------------------------------------------------------
Sub imprimir()

' PabloFSix

' Excelminiapps.blogspot.com

    inicio = Range("D14").Value

    fin = Range("F14").Value

        For i = inicio To fin

            Range("C5").FormulaR1C1 = i

            ActiveWindow.SelectedSheets.PrintOut Copies:=1

         Next

          Range("C5") = ""

End Sub
------------------------------------------------------------------------------------------------------
Comprensión del código:

·         Como ven se definen dos variables, una llamada “inicio” que hace referencia a la celda que contiene el numero de socio de inicio de la impresión y la otra llamada “fin” que hace referencia a la celda que contiene el numero de socio hasta el que deseamos imprimir.

·         Por otro lado se utiliza un “for-next” que hace la recurrencia o el bucle de impresión. Fíjense también que hace que el rango que contiene el número de socio se vaya actualizando antes de proceder a la impresión.

·         El método “PrintOUt” que se encuentra dentro del “for-next” tiene ese formato de definición y el único parámetro que se setea es el de número de copias, en este caso 1 por elemento, si deseamos que haga más copias por elemento, solo debemos cambiar por el número de copias que deseamos.

·         Luego al terminar el proceso volvemos a cero el campo “socio n°”.

Como ven es sencillo el procedimiento, lo más difícil fue hacer el modelo de credencial, hacer que se vea bien visualmente.

Ahora un detalle muy importante es el siguiente, como ven no se define de ninguna manera que impresora vamos a utilizar. Cuando es así el código interpreta que tiene que utilizar la impresora predeterminada, es decir la predeterminada por defecto o la impresora que se selecciono recientemente con el menú >> INICIO (botón de win) >> imprimir > seleccionar impresora. Lo hacemos así para simplificar la explicación.

Con este método y con lo dicho anteriormente hasta podríamos imprimir en PDF, con la salvedad que para imprimir en PDF deberíamos mostrarle manualmente donde guardar el archivo, cosa incomoda pero que veremos en la entrada siguiente como hacerlo.

Notas: Muy pronto se empezará una nueva sección tipo cursos de Excel. En los cursos se enseñará acerca de cómo crear elementos, formatos, trucos y demás acerca de las mini aplicaciones para aquellas personas que no están tan familiarizadas con los usos que se les da en las aplicaciones del blog.

Espero que les guste la idea. Éxitos!

Keys:


·         Impresión múltiple en Excel

·         Impresión en Excel con macro

65 comentarios:

rhodwulf dijo...

me gusto mucho su explicacion muy buena! cuando publicara el articulo seleccionado una impresora?

Excelminiapps dijo...

Hola Amigo, cómo estas! Gracias por el comentario. Se puede elegir la impresora seteando una variable en el método "printout". La variable es "Activeprinter" con lo el código utilizado llevará un dato adicional. Puedes revisar la info en este link:
http://msdn.microsoft.com/en-us/library/office/ff838253.aspx

Espero te haya servido. También nos puedes escribir mediante el formulario de contacto.

Saludos.

Leonardo8a dijo...

Muchas gracias maestro excelminiapps, con este método me ahorro mucho tiempo, trabajo en una escuela y cuando imprimía las boletas de 1,000 alumnos me volvía loco. De nueva cuenta gracias y Felicidades.

Unknown dijo...

Buenos dia y gracias por estos aportes, tengo una pregunta, cuando ejecuto la macro salen las impresiones pero entre cada copia sale una hoja en blanco, sabes como puedo resolverlo?, gracias.

Unknown dijo...

Muchas gracias por la informacion esta muy buena y me será de utilidad like para ti mirad este link
http://www.badasscontent.com/dineroonline1

Unknown dijo...

Hola amigo. necesito de su ayuda y si de verdad me puede ayudar se lo voy agradecer enormemente. el caso es el siguiente: tengo una planilla en excel, una sola y necesito imprimir esa planilla 100 y a veces 200 veces, pero la misma lleva una numeracion la cual debo ingresar manualmente, empezando desde 000.001, como hago para que cada vez que imprima esa misma planilla, numeracion se valla incrementando en cada impresion. osea que aparezca impresa pero en forma ascendente, ejemplo: 000.001, 000.002, 000.003, 000.004, y asi hasta llegar a 100 copias.

Excelminiapps dijo...

Hola Amigo, cómo estas! En realidad es más fácil de lo que parece o puedes usar una celda auxiliar o puedes simplemente cambiar el formato de la celda. Por ejemplo para este caso el formato de celda podría ser "000,000". También puedes escribir directamente mediante el formulario de contacto.
Saludos

Chacra dijo...

Hola, ante todo, muchas gracias por la explicación. Me surge una duda: ¿cómo se vincula los campos que aparecen en la credencial con la base?

En mi caso tengo la tabla llena de datos, y la plantilla de la credencial en un jpg, necesito crearla en excel pero no encuentro cómo hacerlo, ¿me darías una ayuda?

Gracias.

Federico.

Excelminiapps dijo...

Hola Amigo, cómo estas! Gracias por escribirnos!

La vinculación de datos es a través de la formula "BuscarV". Por otro lado, se puede hacer con un JPG si pones la imagen detrás del texto y tratas de que te queden alineadas las celdas con los datos en Excel con los lugares de la imagen. Puede llegar a ser bastante arduo. Espero que te sirvan los comentarios.
Por otro lado recuerda que nos puedes escribir directamente mediante el formulario de contacto del blog.
Saludos

tak'mind&rap dijo...

Hola! Muchas gracias por la mini app, una pregunta, me marca error en la línea

Range("C5").FormulaR1C1=i

como "Error del método "Range" de objeto "_Global".

Sabrías cómo arreglarlo? Lo único que midifiqué fue las celdas de Inicio, Fin y la celda que hay que modificar, es decir de C5 la cambié a O2.

Excelminiapps dijo...

Hola, cómo estas! Parece ser un error en el código, habría que verlo para determinalo pero lo puedes revisar viendo que variables modificaste. A veces pasa que modificas la celda en un solo lugar pero aparece en varios. Recuerda que la plantilla es solo una plantilla para que veas el funcionamiento, sería mejor que empieces la tuya desde cero y verás que aprendes más.
Nos puedes escribir directamente mediante el formulario de contacto. Esperamos tus comentarios. Saludos y Gracias por comentar!

hiperlinqueado dijo...

Excelente! la verdad que fue de mucha ayuda, te hago una consulta, estoy tratando de tener un control de los registros que ya fueron impresos, por ejemplo que aparezcan en verde los que ya fueron impresos alguna vez. Se te ocurre alguna sugerencia?

Muchas gracias!

Excelminiapps dijo...

Hola amigo, cómo estas! Gracias por comentar! Es bastante fácil, al código de la macro tienes que agregarle una línea para que pinte el dato que quieres o que ponga un dato cómo "sí" o algo similar. No hay necesidad que sepas que código, graba una macro haciendo eso y luego fíjate que forma tiene. Recuerda que nos puedes consultar directamente mediante el formulario del blog. Saludos

Unknown dijo...

Muchas gracias por tu ayuda, ahora me será más sencillo elaborar las planillas de sueldos y los respectivos recibos..!! Bendiciones

Excelminiapps dijo...

Hola amigo, gracias por tus comentarios! Saludos

Unknown dijo...

Hola Juan Pablo.

Primero que nada mil gracias por esta informacion pues ahorra un monton de tiempo...

Sin embargo stoy tratado de correr esta macro y me da error en tiempo de ejecución. Al colocar el cursor sobre la linea de error me dice "Variable de objeto o bloque whith no establecido"

Este es mi codigo:

Sub imprimir()

Emp = Hoja13.Range("A2").Value
ulti = Hoja13.Range("a9").Value


For i = Emp To ulti
Hoja18.Range("D6").FormulaR1C1 = i (esta linea es la que me arroja el mesaje indicado)
ActiveWindow.SelectedSheets.PrintOut Copies:=1
Next

Hoja18.Range("D6") = ""


End Sub



Mi gracias de antemano por todo el apoyo que me puedas brindar.

Saludos

Excelminiapps dijo...

Hola amigo, cómo estas! Gracias por comentar!

Aperentemente esta bien pero puede haber algunas variaciones por la versión de Excel que estes usando, quizás se deba a eso. Primero asegurate que este código este medito dentro de un modulo y luego verifica si te interpreta bien la "í" que tienes, puede deberse a que no esta definida, prueba poniendo "i as integer". De lo contrario o nos consultas por aquí o mediante el formulario de contacto. Saludos

Excelminiapps dijo...

Hola amigo, cómo estas! Gracias por comentar!

Aperentemente esta bien pero puede haber algunas variaciones por la versión de Excel que estes usando, quizás se deba a eso. Primero asegurate que este código este medito dentro de un modulo y luego verifica si te interpreta bien la "í" que tienes, puede deberse a que no esta definida, prueba poniendo "i as integer". De lo contrario o nos consultas por aquí o mediante el formulario de contacto. Saludos

Excelminiapps dijo...

Hola amigo, cómo estas! Gracias por comentar!

Aperentemente esta bien pero puede haber algunas variaciones por la versión de Excel que estes usando, quizás se deba a eso. Primero asegurate que este código este medito dentro de un modulo y luego verifica si te interpreta bien la "í" que tienes, puede deberse a que no esta definida, prueba poniendo "i as integer". De lo contrario o nos consultas por aquí o mediante el formulario de contacto. Saludos

Excelminiapps dijo...

Hola amigo, cómo estas! Gracias por comentar!

Aperentemente esta bien pero puede haber algunas variaciones por la versión de Excel que estes usando, quizás se deba a eso. Primero asegurate que este código este medito dentro de un modulo y luego verifica si te interpreta bien la "í" que tienes, puede deberse a que no esta definida, prueba poniendo "i as integer". De lo contrario o nos consultas por aquí o mediante el formulario de contacto. Saludos

Excelminiapps dijo...

Hola amigo, cómo estas! Gracias por comentar!

Aperentemente esta bien pero puede haber algunas variaciones por la versión de Excel que estes usando, quizás se deba a eso. Primero asegurate que este código este medito dentro de un modulo y luego verifica si te interpreta bien la "í" que tienes, puede deberse a que no esta definida, prueba poniendo "i as integer". De lo contrario o nos consultas por aquí o mediante el formulario de contacto. Saludos

Excelminiapps dijo...

Hola amigo, cómo estas! Gracias por comentar!

Aperentemente esta bien pero puede haber algunas variaciones por la versión de Excel que estes usando, quizás se deba a eso. Primero asegurate que este código este medito dentro de un modulo y luego verifica si te interpreta bien la "í" que tienes, puede deberse a que no esta definida, prueba poniendo "i as integer". De lo contrario o nos consultas por aquí o mediante el formulario de contacto. Saludos

Excelminiapps dijo...

Hola amigo, cómo estas! Gracias por comentar!

Aperentemente esta bien pero puede haber algunas variaciones por la versión de Excel que estes usando, quizás se deba a eso. Primero asegurate que este código este medito dentro de un modulo y luego verifica si te interpreta bien la "í" que tienes, puede deberse a que no esta definida, prueba poniendo "i as integer". De lo contrario o nos consultas por aquí o mediante el formulario de contacto. Saludos

Shaoran3974 dijo...

Hola buen dia, tengo una duda y espero me puedas ayudar, necesito imprimir pequeños recibitos de nomina, funciona con lo que muestras pero necesitaria imprimir unos 8 por hoja hay alguna manera? gracias

Excelminiapps dijo...

Hola amigo, cómo estas! No habría problemas, lo tienes que construir de acuerdo a lo que necesitas. Lo que hacemos aquí es crear un ejemplo sencillo y básico para mostrar la idea y ver cómo se hace. Saludos

Unknown dijo...

Hola Buen dia:
Tengo una consulta:
necesito ejecutar la macro de impresión para un rango de datos.
Tengo un documento el cual actualiza los datos a partir de un codigo asi como en tu credencial, pero aunque mis codigos estan en orden ascendente, no son consecutivos.
Digamos que voy a imprimir desde el codigo 50 hasta el 100
pero solo necesito que me imprima el 50, el 80, el 87, el 98 y el 100
¿como hago para que solo me imprima esos codigos u otros dependiendo de lo que necesite?
¿debo relacionar la macro con una lista de codigos que necesite imprimir y que este en un rango de celdas? y si es asi ¿como relaciono este rango?

Excelminiapps dijo...

Hola amigo, cómo estas! Gracias por comentar!
En cuanto a tu consulta, puede haber varias maneras de hacerlo. Es cuestión de probar y ver cuál es la que mas nos gusta. Sin embargo recuerda que en este caso usamos un contador para recorrer Id a ID para que pueda imprimir. Recordando esto lo puedes hacer como quieras. Desconocemos como tienes ordenados los datos, sino la otra forma puede ser recorriendo las filas e imprimiendo de acuerdo a una comparación que hagas con unos números predefinidos. En fin existen varias formas. Esperamos tus comentarios. Saludos

Sergio dijo...

Hola, muchas gracias por tu aporte, me parece muy bueno y me ha servido de mucha ayuda. Pero me surge una variante que no se si podria realizarse. Me gustaria que la credencial de tu ejemplo se imprimiese en una misma hoja el numero de ellas que entren (por ejemplo 3 credenciales por hoja) hasta que imprima todas las del rango establecido.
Muchas gracias y espero puedas ayudarme.

Excelminiapps dijo...

Hola Sergio, gracias por comentar!
En cuanto a tu consulta, partiendo de la idea básica puedes hacer lo que te imagines. Esta mini aplicación esta hecho para mostrar el método pero luego lo puedes aplicar para que forme parte de una aplicación más compleja o customizarlo a tu gusto.
Esperamos tus comentarios.
Saludos

Sergio dijo...

Buenas de nuevo, me he quedado atascado, la funcion de imprimir la he entendido, pero no soy capaz de poner los datos correctamente en la credencial, mi caso es un recibo.
Como seria la funcion buscarv (el codigo que usas) para que se te muestren los datos que tu quieres en los campos TELEFONO, SOCIO, ETC...
¿Se pueden imprimir varias credenciales por hoja de forma automatica? Espero me puedas ayudar ya que de todo lo que he visto tu tutorial es lo que mas se parece a lo que necesito...

Excelminiapps dijo...

Buen día, cómo estas! Gracias por comentar!
En cuánto a tu consulta, este artículo no es el mejor para aprender a utilizar esta función ya que la utilizamos directamente. En nuestros artículos muchas veces utilizamos cosas ya vistas en otros o conocimientos que se dan por sabido. Te recomendamos veas otros artículos en los que hemos utilizado esa función o investigarlos previamente en internet ya que esta función es lo más fácil de la mini aplicación. En cuanto a imprimir varias credenciales, se puede, por supuesto. Solo tienes que construirlo así, básicamente que sea uno o varios es lo mismo. Esperamos tus comentarios.
Saludos.

Juan Sebastian Cruz dijo...

Hola amigo gracias por el dato. Pero tengo una inquietud... Tengo una base de datos de estudiantes con sus respectivas notas y en otra hoja tengo el boletín de reporte de notas, el cual se llena automáticamente cuando selecciono el nombre del estudiante desde una lista (la funcion es buscarv) lo que pasa es que en la base de datos pueden haber hasta 50 estudiantes y para guardar uno por uno es como tedioso. Existe una forma de exportar todos los boletines en un solo pdf? Gracias de antemano

Excelminiapps dijo...

Hola amigo, cómo estas! Gracias por escribirnos!
En cuánto a tu consulta, la mini aplicación que mostramos en un ejemplo general de la idea, no quiere decir que sea la única forma. Utilizando estos conceptos puedes crear lo que quieras, en tu caso lo que deseas lo tienes que configurar, arreglar, crear la macro, etc.
Espero que hayas comprendido, cualquier cosa nos puedes escribir mediante el formulario de contacto.
Saludos

Unknown dijo...

Hola, antes que nada, felicitarte por tus buenos aportes. De verdad me han ayudado mucho.
Y ademas, queria hacerte na consulta. Lo que yo queria era utilizar tu codigo pero en lugar de que imprima me garde cada carmet com PDF, asi quehice algunas modificaciones, pero a pesar de que parece que procesara los procesara todos solo me crea el primero, y los demas no aparecn.
Te dejo el codigoque utilice, te agradeceria mucho silo podrias revisar.

Sub Imprimir()
inicio = Range("U7").Value
fin = Range("U8").Value
For i = inicio To fin
Range("T6").FormulaR1C1 = i
ActiveWindow.ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"D:\" & Range("E8").Value, Quality:= _
xlQualityStandard, IncludeDocProperties:=False, IgnorePrintareas:=True, _
OpenAfterPublish:=False

Next

Range("T6") = ""

End Sub

Pdta: Cambie las ubicaciones de las celdas de inicio y fin, y le asigne al archivo que queria crear un nombre contenido en una celda, pero son solo detalles.

Excelminiapps dijo...

Hola amigo, cómo estas! Gracias por comentar!
Esta muy bien el código, sólo que si tu defines de esta manera la ubicación ["D:\" & Range("E8").Value] estas olvidando que te sobre-escribirá exactamente con el mismo nombre, por lo cuál deberías agregar algo que diferencie una impresión de otra, por ejemplo un subindice. Podría ser ["D:\" & Range("E8").Value & i]
Esperamos tus comentarios.
Saludos

Unknown dijo...

Hola, muy buen ejemplo, mira tengo una base de datos con ordenes de compra, de la cual cree una dinamica con filtro por orden, necesito que la macro seleccione una a una las ordenes del filtro y las valla imprimirndo una a una.

agradecere mucho tu ayuda

El que se moja no se enoja dijo...

Hace dias estoy dando vueltas buscando una forma de poder imprimir mis formularios continuos para reparación.
Tengo el formulario, y como no me da tiempo el llenarlos en la PC frente al cliente, debo hacerlo a mano.
Para no ir a una imprenta, quería hacerlos yo.
cómo puedo hacer para que me imprima 100 comprobantes la impresora, cambiando el número? y ya dejarlos impresos?
no me doy cuenta de adaptar este macro que Ud. publicó en este blog.
Podría ayudarme si es tan amable? gracias.

Excelminiapps dijo...

Hola, cómo estas! Gracias por tus comentarios! Disculpa la tardanza!
En cuanto a tu consulta, trabajando con filtros no hay tantas maneras de hacerlo. Se nos ocurre utilizar la función "offset" dentro del código. Que hace que la selección se mueva de una celda a otra pero hay que ver como funciona con un filtro. trataremos de ver un ejemplo en el futuro.
Esperamos tus comentarios y recuerda que nos puedes contactar directamente mediante el formulario de contacto.
Saludos

unknown dijo...

Buenas tardes, muy bueno tu código y me ha servido bastante para poder entender más el uso de vba de la cuál pues hasta hace poco no tenía idea y me funciona muy bien solo que tengo un pequeño detalle.

Tengo un formato para ordenes de trabajo en cual hay un recuadro para los planos de fabricación en forma Image Activex el cuál se actualiza con el folio de la hoja (que es el cambia en forma +1 cuando imprimo) pero al correr el macro sólo se actualizan los datos de texto como número de parte, descripción etc. más no se actualiza el plano hasta que termina de correr la macro y presiono cualquier otra celda se actualiza solo el ultimo folio.

¿Hay alguna forma de poderla actualizar la Imagen Activex entre impresiones?

¡Te lo agradezco bastante y excelente aporte de conocimiento para los que estamos empezando! :D

Excelminiapps dijo...

Hola amigo, cómo estas! Gracias por escribirnos! Debes activar que muestre la actualización de pantalla cuando ejecutas el formulario. Posiblemente sea esto.
Saludos y Gracias.

Agarh dijo...

Hola Juan Pablo, excelente tu aporte...tengo una dificultad , espero me puedas ayudar...todo me funciona bien pero también me imprime los botones de control de impresión: imprimir, números y flechas...que debo hacer?...gracias

Excelminiapps dijo...

Hola amigo, cómo estas! Gracias por escribirnos!
Esos elementos son objetos, tienen propiedades. Dentro de las propiedades puedes des-tildar "imprimir objeto".
Saludos

Mauricio Chavarro Montaño dijo...

Me sirvió demasiado para programar una macro que contiene cartas de envíos masivos son casi 500 envíos a los clientes e imprimir esas cartas es tedioso.

Mil gracias bendiciones !!!

Excelminiapps dijo...

Hola amigo, muchas gracias a ti y por tus comentarios!
Saludos

Unknown dijo...

Hola muy buenas tardes


tengo una duda sobre la impresión de un reporte que tengo filtrado en el cual tengo mas de 80 asignaciones o rutas el cual deseo imprimir mediante una macro pero no he encontrado alguna macro funcional no se si me pudieran apoyar con dicho código el filtro lo tengo localizado en "A7" tengo entendido que es con un bucle pero realmente no se de programación apenas estoy iniciando en esto de programar con VBA agradeciendo de antemano la ayuda dejo mi correo electrónico darkangel090588@gmail.com para que alguien me pudiese ayudar si necesitan tener la visualización de la plantilla

Excelminiapps dijo...

Hola amigo, cómo estas! Gracias por escribirnos!
En cuanto a tu consulta, no entendemos bien lo que necesitas. Esta macro es para imprimir los datos en una ubicación preestablecida. Sin embargo no es el único artículo que tenemos al respeto. Revisa el blog. Puedes escribirnos directamente al formulario de contacto así nos explicas mejor.
Saludos

Gustav dijo...

Se podra hacer que entre 3 carnet o mas carnet depende el tamaño de la hoja. Muchas gracias logre comprender y hacerlo. Saludos

johan torres dijo...

Hola, ante todo, muchas gracias por la explicación. Me surge una duda: ¿cómo se vincula los campos que aparecen en la credencial con la base

Tienes algun video de como se hace?

Gracias.
Johan Torres

Excelminiapps dijo...

Hola amigo, cómo estas! Gracias por escribirnos!
Los campos se vinculan con los datos con buscarv. Sino esta en este artículo o los contactos, en otros artículos los usamos.
Saludos

caio2005 dijo...

hola Amigo Muy buena tu pagina, me ayudo mucho
tengo consulta estoy utilizando tu codigo anda perfecto, pero lo que yo quiero es que cuando le doy a imp no me salga de corrido las impresiones sino que le pongo el codigo ejemplo:
12345 y 12350 que no me salga las imp 123456, 123457, 123458, etc
yo quiero que salgan los codigos que yo le ingreso osea
12345 y 12350
se podra hacer algo
desde ya muchas gracias

Excelminiapps dijo...

Hola Amigo, cómo estas! Gracias por comentar!
En cuanto a tu consulta, claro que se puede! Obviamente habría que personalizar el código pero a simple vista no parece difícil. Como siempre decimos, nosotros usamos una plantilla para mostrar la idea luego cada persona tendrá la suya y podrá usar este conocimiento. Para hacer lo que tu quieres podrías usar una celda y utilizar marcadores, por ejemplo guión para lo corrido y cóma para saltar las páginas. Se puede hacer de varias maneras.
Esperamos tus comentarios.
Saludos

Unknown dijo...

Buenas tardes muy didáctica la explicación, lo único que no entiendo es esta parte Range("C5").FormulaR1C1 porque R1C1, Te agradecería enormemente la tu comentario.

Gracias

Excelminiapps dijo...

Hola amigo, cómo estas! Gracias por escribirnos!
En cuanto a tu consulta, se emplea un for para hacer un bucle y la "i" representa el contador de este bucle. Esa sentencia es para que te muestre en la celda C5 por dónde va el contador básicamente. De todas maneras en otro artículo posteriores tenemos otras formas de imprimir en pdf.
Esperamos tus comentarios.
Saludos

VICT ORh+ dijo...

Hola vi tu macros y me parece interesante, el detalle es que cuando mando a imprimir de forma seriada, me imprime sola la primera que elegi y el resto repite la misma. Es decir me hace copias seriadas de la primera de la lista. Como me podrias ayudar? Me podrias enviar tu macros? Espero me puedas ayudar mi correo es vhuaytallar@gmail.com

Excelminiapps dijo...

Hola amigo, cómo estas! Gracias por escribirnos! En cuanto a tu consulta, por favor revisa el código. No es muy difícil, debería funcionar.
De cualquier manera nos puedes escribir mediante el formulario de contacto.
Saludos

Unknown dijo...

Hola buenos días, muchas gracias por la macro, me ha ayudado bastante.
Por otro quisiera saber que codigo le puedo insertar para que tambien me tome el consecutivo cuando esta combinaco con letras ejm:
AN001-AN010
VA001-VA010
Algo así que vaya combinado con letras pero es consecutivo, como podría configurarlo para que siga el consecutivo

Por fa me puedes ayudar mi correo es maryury.rodriguez10@gmail.com

Gracias

Excelminiapps dijo...

Hola amigo, cómo estas! Gracias por escribirnos!
En cuanto a tu consulta, creo que ya lo habíamos respondido en otros comentarios. No importa el código que manejes, lo deberías identificar con un orden o ID y con ese ID puedes darle el orden que quieras. Por ejemplo:
Si defines dos columnas
ID Código
1 AN001
2 AN010
3 VA001
4 VA010
---
Recordando esto no importa el código alfanumérico que utilices puede decirle de dónde a dónde..
Esperamos tus comentarios.
Slaudos

Unknown dijo...

Hola estimado muy bueno tu articulo, quiera preguntarte , tengo que imprimir un recibo con un formato detemido es con recuadro y dentro recuadro datos, y al pie un codigo de barras me podrias indicar como, saludos Daniel

Excelminiapps dijo...

Hola amigo, cómo estas!
En cuanto a tu comentarios para imprimir código de barras puedes descargar fuentes que te traducen un código en barras. En uno de nuestros artículos algo tratamos.
Saludos

Jorge García Díaz dijo...

Buenas tardes!! Excelente lo aportado!! La verdad que me solucionó un gran problema que tenía. Tengo una consulta... Cómo podría hacer para que además de imprimir el rango de número de credenciales, tenga en cuenta otra variable? Por ejemplo, de entre las credenciales del 1 al 100 solamente quiero imprimir las de personas con determinado apellido, o localidad, o tipo de socio.

Jesus Cisneros dijo...

Amigo , Muchas Gracias por tu explicacion ...
Pero ahora lo que Necesito es imprimir varias credenciales en una sola hoja, ya que una Credencial por hoja se Desperdicia mucho papel, Como le puedo hacer?

Muchas Gracias

NEFA dijo...

muchas gracias. podria usted decirme por qué no me funciona el codigo, lo escribí así:
Dim I As Integer
Sub imprimir()
Inicio = Range("F17").Value
fin = Range("H17").Value
For I = incio To fin
Range("G3").FormulaR1C1 = I
ActiveWindow.SelectedSheets.Printerout.Copies = 1
Next
Range("G3") = ""
End Sub

Private Sub CommandButton1_Click()

End Sub

Excelminiapps dijo...

Hola amigo, cómo estan? Gracias por los comentarios!
Todos sus consultas ya están respondidas o son parte del concepto de esta mini aplicación.
Esperamos sus comentarios.
Saludos

Unknown dijo...

Hola, muchas gracias por la explicacion.
Actualmente tengo este problema, mi macro es la siguiente:

Sub IMPRIME()
    inicio = Range("H2").Value
    fin = Range("J2").Value
        For i = inicio to fin
            Range("C2").FormulaR1C1 = i
            ActiveWindow.SelectedSheets.PrintOut Copies:=1
         Next
          Range("C2") = ""

End Sub

En la linea "for i" me aparece un error y me aparece un mensaje que dice: error en sintaxis, se esperaba fin de la instruccion.

Me podrias ayudar por favor...

Excelminiapps dijo...

Hola amigo, cómo estás? Gracias por escribirnos!
La sintaxis de esta instrucción es:

-----------
FOR x =2 to 10
'todo lo que vas a hacer repetitivamente
Next
---------

fijate si cerraste el for en el código y que no te falte cerrar el sub con end sub.

Esperamos tus comentarios, Saludos.