Note: The other languages of the website are Google-translated. Back to English

 ¿Cómo incrementar automáticamente el valor de la celda después de cada impresión?

Supongamos que tengo una hoja de trabajo para imprimir 100 copias, la celda A1 es el número de cheque Company-001, ahora, me gustaría que el número aumentara en 1 después de cada impresión. Eso significa que cuando imprima la segunda copia, el número se incrementará automáticamente a Compañía-002, la tercera copia, el número será Compañía-003… cien copias, el número será Compañía-100. ¿Existe algún truco para solucionar este problema en Excel de forma rápida y posible?

Incremento automático del valor de la celda después de cada impresión con código VBA


flecha azul burbuja derecha Incremento automático del valor de la celda después de cada impresión con código VBA

Normalmente, no hay una forma directa de resolver esta tarea en Excel, pero aquí crearé un código VBA para resolverlo.

1. Mantenga pulsado el ALT + F11 teclas para abrir el Microsoft Visual Basic para aplicaciones ventana.

2. Hacer clic recuadro > Móduloy pegue el siguiente código en el Módulo Ventana.

Código de VBA: valor de celda de incremento automático después de cada impresión:

Sub IncrementPrint()
'updateby Extendoffice
    Dim xCount As Variant
    Dim xScreen As Boolean
    Dim I As Long
    On Error Resume Next
LInput:
    xCount = Application.InputBox("Please enter the number of copies you want to print:", "Kutools for Excel")
    If TypeName(xCount) = "Boolean" Then Exit Sub
    If (xCount = "") Or (Not IsNumeric(xCount)) Or (xCount < 1) Then
        MsgBox "error entered, please enter again", vbInformation, "Kutools for Excel"
        GoTo LInput
    Else
        xScreen = Application.ScreenUpdating
        Application.ScreenUpdating = False
        For I = 1 To xCount
            ActiveSheet.Range("A1").Value = " Company-00" & I
            ActiveSheet.PrintOut
        Next
        ActiveSheet.Range("A1").ClearContents
        Application.ScreenUpdating = xScreen
    End If
End Sub

3. Entonces presione F5 para ejecutar este código, y aparece un cuadro emergente para recordarle que ingrese la cantidad de copias que desea imprimir en la hoja de trabajo actual, vea la captura de pantalla:

incremento de doc al imprimir 1

4. Hacer clic OK , y su hoja de trabajo actual se está imprimiendo ahora, y al mismo tiempo, las hojas de trabajo impresas están numeradas como Compañía-001, Compañía-002, Compañía-003… en la celda A1 según lo necesite.

Nota:: En el código anterior, la celda A1 Se insertarán los números de secuencia que ordenó y el valor de celda original en A1 se borrará. Y "Company-00”Es el número de secuencia, puede cambiarlos según sus necesidades.


Las mejores herramientas de productividad de oficina

Kutools para Excel resuelve la mayoría de sus problemas y aumenta su productividad en un 80%

  • Reutilizar: Inserte rápidamente fórmulas complejas, gráficos y cualquier cosa que hayas usado antes; Cifrar celdas con contraseña; Crear lista de distribución y enviar correos electrónicos ...
  • Barra de súper fórmula (edite fácilmente varias líneas de texto y fórmulas); Diseño de lectura (leer y editar fácilmente un gran número de celdas); Pegar en rango filtrado...
  • Combinar celdas / filas / columnas sin perder datos; Contenido de celdas divididas; Combinar filas / columnas duplicadas... Prevenir celdas duplicadas; Comparar rangos...
  • Seleccione Duplicado o Único Filas; Seleccionar filas en blanco (todas las celdas están vacías); Super Find y Fuzzy Find en muchos libros de trabajo; Selección aleatoria ...
  • Copia exacta Varias celdas sin cambiar la referencia de la fórmula; Crear referencias automáticamente a varias hojas; Insertar viñetas, Casillas de verificación y más ...
  • Extraer texto, Agregar texto, Eliminar por posición, Quitar espacio; Crear e imprimir subtotales de paginación; Convertir entre contenido de celdas y comentarios...
  • Súper filtro (guardar y aplicar esquemas de filtros a otras hojas); Orden avanzado por mes / semana / día, frecuencia y más; Filtro especial en negrita, cursiva ...
  • Combinar libros y hojas de trabajo; Combinar tablas basadas en columnas clave; Dividir datos en varias hojas; Conversión por lotes de xls, xlsx y PDF...
  • Más de 300 potentes funciones. Compatible con Office/Excel 2007-2021 y 365. Compatible con todos los idiomas. Fácil implementación en su empresa u organización. Funciones completas Prueba gratuita de 30 días. Garantía de devolución de dinero de 60 días.
pestaña kte 201905

Office Tab lleva la interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil

  • Habilite la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
  • Abra y cree varios documentos en nuevas pestañas de la misma ventana, en lugar de en nuevas ventanas.
  • ¡Aumenta su productividad en un 50% y reduce cientos de clics del mouse todos los días!
officetab parte inferior
Comentarios (51)
Aún no hay calificaciones. ¡Sé el primero en calificar!
Este comentario fue minimizado por el moderador en el sitio
Este código es asombroso, es exactamente lo que necesito, sin embargo, me preguntaba si hay una manera de comenzar a imprimir desde el número que se ingresa en la celda "A1". Por ejemplo, si imprimí 100 copias, en la próxima tirada tendré que imprimir desde el número 101 y contar desde allí. He intentado algunos ajustes de código, pero parece que solo toma el número ingresado en la celda, es decir, 101, agrega 1 y luego el resto de las impresiones se atascan con ese número, es decir, 102... Su ayuda sería muy apreciada: -)
Este comentario fue minimizado por el moderador en el sitio
Si aún no encontró una solución, puede editar la línea 17 del código a esto: ActiveSheet.Range("A1").Value = Range("A1").Value + 1
Esto agregará +1 al número que tiene en la celda A1.
Este comentario fue minimizado por el moderador en el sitio
No me envía a mi impresora
Este comentario fue minimizado por el moderador en el sitio
Hola,

en exécutant la macro ça efface le nombre de ma cellule.
Je voudrais par exemple avoir A1= 153, je lance une impression de 10 copias. J'ai dis feuilles imprimée de 154 a 164 ET je voudrais que le nombre de la cellule soit aussi 164.
Comme ça quand je relance une impression ça prend le chiffre dans A1.
J'aimerais aussi si posible na pas à avoir aller dans basic. je voudrais que la macro s'active directement via l'option print. ¿C'est posible?
Este comentario fue minimizado por el moderador en el sitio
Hola,

en exécutant la macro ça efface le nombre en A1.

je voudrais si c'est possible par exemple A1=153 et faire une impression de 10 copias. donc je récupéré 10 impresiones numérotées de 154 a 164 ET je voudrais aussi que le 153 en A1 s'incrémente jusqu'à 164.

Je voudrais aussi si possible ne pas à avoir utiliser basic pour l'impression. je voudrais pouvoir declancher directement la macro en utilisant l'option print tout simplement.

gracias por su ayuda
Este comentario fue minimizado por el moderador en el sitio
Hola Kaji,
Para resolver su problema, aplique el siguiente código:
Sub IncrementPrint_Num()
Dim xCount As Variant
Dim xScreen As Boolean
Dim I As Long
Dim xInt As Integer
On Error Resume Next
xInt = 153 'number
LInput:
xCount = Application.InputBox("Please enter the number of copies you want to print:", "Kutools for Excel")
If TypeName(xCount) = "Boolean" Then Exit Sub
If (xCount = "") Or (Not IsNumeric(xCount)) Or (xCount < 1) Then
MsgBox "error entered, please enter again", vbInformation, "Kutools for Excel"
GoTo LInput
Else
xScreen = Application.ScreenUpdating
Application.ScreenUpdating = False
For I = 1 To xCount
xInt = xInt + 1
ActiveSheet.Range("A1").Value = xInt
ActiveSheet.PrintOut
Next
Application.ScreenUpdating = xScreen
End If
End Sub

Por favor, inténtalo, espero que te pueda ayudar, si tienes algún otro problema, por favor comenta aquí.
Este comentario fue minimizado por el moderador en el sitio
Encuentre adjunto los códigos modificados.

Y aquí está en el texto:
Sub Incremento Imprimir ()
'Actualizar por Extendoffice
Dim xFin como variante
Dim xEmpezar como variante
Dim xScreen como booleano
Dim I tan largo
On Error Resume Next
Entrada:
xStart = Application.InputBox("Ingrese el primer número:", "Kutools para Excel")
xEnd = Application.InputBox("Ingrese el último número:", "Kutools para Excel")
Si TypeName(xCount) = "Boolean", entonces salga de Sub
Si (xInicio = "") O (No es numérico(xInicio)) O (xInicio < 1) Entonces
MsgBox "Error ingresado, ingrese nuevamente", vbInformation, "Kutools for Excel"
Ir a entrada
otro
xScreen = Aplicación.Actualización de pantalla
Application.ScreenUpdating = False
Para I = xInicio Hasta xFin
ActiveSheet.Range("A1").Valor = "Empresa-00" & I
ActiveSheet.PrintOut
Siguiente
ActiveSheet.Range("A1").ClearContents
Aplicación.Actualización de pantalla = xScreen
Si terminar
End Sub
Este comentario fue minimizado por el moderador en el sitio
Necesito números de serie como IA1-055242, IA1-055243, IA1-055244 .....
Este comentario fue minimizado por el moderador en el sitio
Gracias por publicar esto, es muy útil. Mi pregunta es la siguiente: tengo 2 códigos de barras diferentes que deben incrementarse en una página, ¿cómo puedo modificar el código para hacer eso?
Este comentario fue minimizado por el moderador en el sitio
Lamento preguntar esto en una publicación separada... Mis números de serie comienzan con un CERO, pero cuando ejecuto el programa, elimina los ceros. Intenté convertir el campo numérico en texto, pero eso no solucionó el problema. ¿Otras ideas?
Este comentario fue minimizado por el moderador en el sitio
R-Haga clic en Celda, Formato, Personalizado, donde dice 'General', reemplácelo con tantos ceros como sea su número de serie. Esto forzará la cantidad de ceros necesarios delante de su número de serie. Si tengo un grupo de números de serie que son números de serie de 10 dígitos, ingreso 0000000000 en el campo Tipo para que aparezca '0004563571' en el campo de número de serie.
Este comentario fue minimizado por el moderador en el sitio
gracias arte Lo intenté, pero el código de barras seguía eliminando los ceros a la izquierda... incluso después de hacer un formato de número personalizado.
Este comentario fue minimizado por el moderador en el sitio
mi número de serie comienza con 227861 ¿cómo puedo imprimir desde
Este comentario fue minimizado por el moderador en el sitio
imprimí como 30 copias pero ahora no puedo imprimir, ejecuté el script muchas veces pero no funcionó, no haga nada :(
Este comentario fue minimizado por el moderador en el sitio
gracias por lo anterior, realmente útil. ¿Es posible guardar y recordar el último valor?
Este comentario fue minimizado por el moderador en el sitio
Hola Pieter,
Para guardar y recordar el último valor impreso la próxima vez que imprima, debe aplicar el siguiente código VBA:

Sub Incremento Imprimir ()
Dim xCount como variante
Dim xScreen como booleano
Dim I tan largo
Atenuar xM siempre que
Dim xMNWS como hoja de trabajo
Dim xAWS como hoja de trabajo
On Error Resume Next
Entrada:
xCount = Application.InputBox("Ingrese la cantidad de copias que desea imprimir:", "Kutools para Excel")
Si TypeName(xCount) = "Boolean", entonces salga de Sub
Si (xCuenta = "") O (No es numérico(xCuenta)) O (xCuenta < 1) Entonces
MsgBox "Error ingresado, ingrese nuevamente", vbInformation, "Kutools for Excel"
Ir a entrada
otro
xScreen = Aplicación.Actualización de pantalla
Establecer xAWS = hoja activa
En caso de error Ir a hoja de número de marca electrónica
Establecer xMNWS = Sheets("IncrementPrint_MarkNumberSheet")
EMarkNumberSheet:
Si xMNWS no es nada, entonces
Establecer xMNWS = Aplicación. Hojas de trabajo. Agregar (Tipo: = xlHoja de trabajo)
xMNWS.Name = "ImpresiónIncremento_MarkNumberSheet"
xMNWS.Rango("A1").Valor = 0
x M = 0
xMNWS.Visible = xlHojaMuyOculta
otro
xM = xMNWS.Rango("A1").Valor
Si terminar
Application.ScreenUpdating = False
Para I = 1 Para xCuenta
xM = xM + 1
xAWS.Rango("A1").Valor = "Empresa-00" & xM
xAWS.Imprimir
Siguiente
xMNWS.Rango("A1").Valor = xM
xAWS.Range("A1").ClearContents
Aplicación.Actualización de pantalla = xScreen
Si terminar
End Sub

Si necesita restablecer el número impreso al número predeterminado, primero ejecute el siguiente código y luego ejecute el código anterior para imprimir.

Sub IncrementoImprimir_Reinstalar()
Dim xMNWS como hoja de trabajo
En caso de error Ir a hoja de número de marca electrónica
Establecer xMNWS = Sheets("IncrementPrint_MarkNumberSheet")
EMarkNumberSheet:
Si no xMNWS no es nada, entonces
Application.DisplayAlerts = False
xMNWS.Visible = xlSheetHidden
xMNWS.Eliminar
Application.DisplayAlerts = True
Si terminar
End Sub
Este comentario fue minimizado por el moderador en el sitio
Hola, gracias por este código. Tengo una pregunta. Usé este código pero las series saltan como 0071,0072,0073. sucedió como 3 veces entre la serie 1-100. Así que cerré vba sin guardar, reinstalé el código pero imprimí la última serie que se guardó (0032). Mi pregunta es ¿cómo puedo imprimir de forma continua sin que salte la serie y cómo puedo volver a imprimir a partir de 101? realmente apreciaré su respuesta. Perdón por esto. No soy programador, espero que lo entiendas. ¡Gracias! 
Este comentario fue minimizado por el moderador en el sitio
gracias por publicar esto, es muy útil. Mi pregunta es la siguiente: tengo 2 códigos de barras diferentes que deben incrementarse en una página, ¿cómo puedo modificar el código para hacer eso?
Este comentario fue minimizado por el moderador en el sitio
Hola Desmond,
Si tiene 2 lugares en una página (como 2 cupones o 2 plantillas/2 cupones, etc.), entonces puede intentar usar el siguiente código. (Suponiendo que su primer código de barras y su segundo código de barras estén en las celdas "A1" y "A2" de la misma página, este código incrementará valores como Company-1 y Company-20 en la primera página y Company-001 y Company-002 en la segunda página y así sucesivamente Puede editar el número de celda y el nombre de la empresa como desee en las líneas 003, 004, 20, 21 y 23 del código. 
También le pedirá que ingrese el número inicial y el número final (Gracias al genio por esta parte del código). Entonces, por ejemplo, su número inicial. es 1 y termina no. 8, imprimirá 4 páginas de 1,2 en la 1ª página, 3,4 en la 2ª página, 5,6 en la 3ª página y finalmente 7,8 en la 4ª página. Espero que te ayude a ti o a cualquiera que esté buscando este tipo de necesidad/requisito. 
Código modificado:----------------------------------------------- ------------Sub IncrementoImprimir()
'Actualizar por Extendoffice
Dim xFin como variante
Dim xEmpezar como variante
Dim xScreen como booleano
Dim I tan largo
On Error Resume Next
Entrada:
xStart = Application.InputBox("Ingrese el primer número:", "Kutools para Excel")
xEnd = Application.InputBox("Ingrese el último número:", "Kutools para Excel")
Si TypeName(xCount) = "Boolean", entonces salga de Sub
Si (xInicio = "") O (No es numérico(xInicio)) O (xInicio < 1) Entonces
MsgBox "Error ingresado, ingrese nuevamente", vbInformation, "Kutools for Excel"
Ir a entrada
otro
xScreen = Aplicación.Actualización de pantalla
Application.ScreenUpdating = False
Para I = xInicio Hasta xFin
Si Mod 2 = 0 Entonces
ActiveSheet.Range("A1").Valor = "Empresa-00" & I + 1
ActiveSheet.Range("A20").Valor = "Empresa-00" & I
otro
ActiveSheet.Range("A20").Valor = "Empresa-00" & I + 1
ActiveSheet.Range("A1").Valor = "Empresa-00" & I
ActiveSheet.PrintOut
Si terminar
Siguiente
ActiveSheet.Range("A1").ClearContents
ActiveSheet.Range("A20").ClearContents
Aplicación.Actualización de pantalla = xScreen
Si terminar
End Sub

-------------------------------------------------- -------------------------------------------------- -----Gracias, RNS
Este comentario fue minimizado por el moderador en el sitio
Mi celda es I3 y el número es 2298 cuando pruebo el (código VBA: valor de celda de incremento automático después de cada impresión :) me da 22981, ¿cómo llego a 2298,2299,2300?
Este comentario fue minimizado por el moderador en el sitio
hola, jennifer,
Para solucionar su problema, aplique el siguiente código VBA:
Nota: Cambie el texto y el número del prefijo por los suyos.

Sub IncrementoImprimir_Núm()
Dim xCount como variante
Dim xScreen como booleano
Dim I tan largo
Dim xStr como cadena
Dim xInt como entero
On Error Resume Next
xStr = "Compañía-" 'texto de prefijo
xInt = 2291 'número
Entrada:
xCount = Application.InputBox("Ingrese la cantidad de copias que desea imprimir:", "Kutools para Excel")
Si TypeName(xCount) = "Boolean", entonces salga de Sub
Si (xCuenta = "") O (No es numérico(xCuenta)) O (xCuenta < 1) Entonces
MsgBox "Error ingresado, ingrese nuevamente", vbInformation, "Kutools for Excel"
Ir a entrada
otro
xScreen = Aplicación.Actualización de pantalla
Application.ScreenUpdating = False
Para I = 1 Para xCuenta
xInt = xInt + 1
ActiveSheet.Rango("A1").Valor = xStr & xInt
ActiveSheet.PrintOut
Siguiente
ActiveSheet.Range("A1").ClearContents
Aplicación.Actualización de pantalla = xScreen
Si terminar
End Sub

¡Pruébalo, espero que te pueda ayudar!
Este comentario fue minimizado por el moderador en el sitio
Hola me pueden ayudar con esto? Quiero que xINT tenga más de 5 dígitos. Cada vez que pongo un número con 6 dígitos, la cuenta vuelve a 1. ¿Cómo puedo evitar eso?
Este comentario fue minimizado por el moderador en el sitio
Hola, muy interesante, aunque estoy buscando una solución diferente que no pude encontrar e incluso si traté de personalizar el código no pude lograrlo hasta ahora. Siguiendo tu ejemplo, necesitaría imprimir la misma página 100 veces, en el mismo PDF, por ejemplo, y en cada página el número de página aumentó. Como dije, probé el método de clasificación, pero según entendí, le permite imprimir juntos si necesita varias copias de la misma impresión. Gracias de antemano, Giuseppe.
Este comentario fue minimizado por el moderador en el sitio
Hola, este código funciona excelente, pero después del valor de la celda 32767, vuelve a 1. Después de este valor, se imprime desde el número 1.
Este comentario fue minimizado por el moderador en el sitio
muchas gracias, me funciono. Y me las arreglo para hacer algunos cambios menores para satisfacer mis necesidades. Realmente aprecio su compartir.
Este comentario fue minimizado por el moderador en el sitio
Hola Jennifer, prueba esto
Sub Incremento Imprimir ()
'Actualizar por Extendoffice 20160530
Dim xCount como variante
Dim xScreen como booleano
Dim I tan largo
On Error Resume Next
Entrada:
xCount = Application.InputBox("Ingrese la cantidad de copias que desea imprimir:", "Kutools para Excel")
Si TypeName(xCount) = "Boolean", entonces salga de Sub
Si (xCuenta = "") O (No es numérico(xCuenta)) O (xCuenta < 1) Entonces
MsgBox "Error ingresado, ingrese nuevamente", vbInformation, "Kutools for Excel"
Ir a entrada
otro
xScreen = Aplicación.Actualización de pantalla
Application.ScreenUpdating = False
Para I = 1 Para xCuenta

ActiveSheet.PrintOut
HojaActiva.Rango("J18").Valor = HojaActiva.Rango("J18").Valor + 1
Siguiente
'ActiveSheet.Range("J18").ClearContents'

Aplicación.Actualización de pantalla = xScreen
Si terminar
End Sub
Este comentario fue minimizado por el moderador en el sitio
Un millón de gracias
Este comentario fue minimizado por el moderador en el sitio
Funciona bien para imprimir números incrementales. ¿Cómo imprimo cada 5, 10, cuando sea necesario?
Este comentario fue minimizado por el moderador en el sitio
¿Hay alguna manera de seleccionar qué valores quiero imprimir? por ejemplo, imprimí la secuencia 1 a 30 pero necesito volver a imprimir la secuencia 15 a 19 nuevamente.
Este comentario fue minimizado por el moderador en el sitio
Hola, quiero cambiar el número de celda K11 después de imprimir a 1-2-3-4-5-6, etc. Por favor, ¿pueden ayudarme? y también dime cómo llamar a esa función por favor ayuda
Este comentario fue minimizado por el moderador en el sitio
Me preguntaba cómo hacer un pequeño cambio para que imprima 1 de 10, 2 de 10, 3 de 10, etc.
De lo contrario, esto funciona muy bien. Gracias.
Este comentario fue minimizado por el moderador en el sitio
hola, mi nombre es suresh, tengo datos en formato excel sin ningún número de serie, al que le gusta un ejemplo de una hoja de ruta. Necesito tomarlo como 100 páginas impresas y necesito imprimir el número de serie lo que necesite de 4 dígitos, pero mientras imprimo tengo que hacerlo de forma manual. ¿Puede explicar a quién imprimir generar automáticamente el código de número de serie durante la impresión?
Este comentario fue minimizado por el moderador en el sitio
Estupendo !! No soy programador, pero logré cambiar la referencia de la celda y la numeración uniq que quería. Funcionó excelente para mí Dios te bendiga!
Este comentario fue minimizado por el moderador en el sitio
¿También es posible agregar a este código, para que se impriman automáticamente 2 copias?
Este comentario fue minimizado por el moderador en el sitio
Creo que podrías cambiar esta parte: ActiveSheet.Range("A1").Value = "Company-00" & I
ActiveSheet.PrintOut

a
ActiveSheet.Range("A1").Valor = "Empresa-00" & I
ActiveSheet.PrintOut
ActiveSheet.PrintOut

para obtener 2 copias de cada uno.
Este comentario fue minimizado por el moderador en el sitio
Me preguntaba si puede imprimir directamente el archivo después de volver a abrirlo y aún sigue el número secuencial.
Lo que estoy haciendo actualmente es cada vez que abro el archivo, ALT + F11 luego F5 e indico el número de copias. Luego imprimirá el archivo con la numeración correcta y luego lo guardará de nuevo. y cuando vuelva a abrir, solo necesito hacer el mismo paso.
Si hay un código en el que puede imprimirlo directamente cada vez que abre el archivo y seguirá la numeración secuencial.
gracias de antemano
Este comentario fue minimizado por el moderador en el sitio
Me preguntaba si puede imprimir directamente el archivo después de volver a abrirlo y aún sigue el número secuencial.

Lo que estoy haciendo actualmente es cada vez que abro el archivo, ALT + F11 luego F5 e indico el número de copias. Luego imprimirá el archivo con la numeración correcta y luego lo guardará de nuevo. y cuando vuelva a abrir, solo necesito hacer el mismo paso.

Si hay un código en el que puede imprimirlo directamente cada vez que abre el archivo y seguirá la numeración secuencial.

gracias de antemano
Este comentario fue minimizado por el moderador en el sitio
Muchas gracias por compartir el código anterior. Es muy útil para todos. ¿Podemos agregar algún código más para aumentar 8 números en lugar de 1 después de las impresiones? Esperando su respuesta. Gracias
No hay comentarios publicados aquí todavía
Ver más
Deje sus comentarios
Publicar como invitado
×
Califica esta publicación:
0   Personajes
Ubicaciones sugeridas

Siganos

Copyright © 2009 - www.extendoffice.com. | Reservados todos los derechos. Energizado por ExtendOffice, | Mapa del Sitio
Microsoft y el logotipo de Office son marcas comerciales o marcas comerciales registradas de Microsoft Corporation en los Estados Unidos y / o en otros países.
Protegido por Sectigo SSL