Aumentar valor de en uno al imprimir según condiciones

Hola experto: mi pregunta es la siguiente.
Tengo un libro que es una mascara de impresiones para un rotulo de artículos que debo imprimir.
El libro esta programado con un userform el cual arroja los datos del remito propietario del rotulo, estos datos van quedando en celdas que están programadas con "buscarv" para no tener que confeccionar 8000 solapas distintas cada una con un form el tema es que necesito que se aumente una celda donde se registra el numero de serie pero este se debe aumentar en uno cada vez que imprima y no todos los artículos tienen el mismo numero de serie, o sea que si selecciono el articulo A y el numero de serie es 345 lo imprimo 5 veces al cerrar la hoja debe quedar en la base de datos el art. A 350 y si realize el rotulo del art. A, B, C y DE estos se deben sumar cada uno con su numero de serie propio.
¿Cómo hago?
¿Se me entiende?

1 respuesta

Respuesta
1
Vamos a ver esto debes de meterlo en el código del textBox donde introduzcas el numero de copias, esto lo deberás recoger en una variable que al mismo tiempo diga que si en la variable he elegido 5 copias de un articulo (que deberá estar en otra variable) relacionada con el rango de celda que tenga el numero de la variable para ponerle en el código que si la variable copias es igual a 5 el valor de la celda POR será el valor actual más 5.
Necesitaría el código del Userform para ponerte las variables en los campos y las condiciones, o si te ha servido los pasos lo puedes hacer tú, te doy algunas pistas:
num=TextBox1.Value ' Donde estas introduciendo el numero de copias
ctiveSheet.PrintOut From:=1, To:=1, Copies:=num, Collate:=True
If num=<1 Then
Range("C4").Value=ActiveCell.Value + num
No es exactamente el código a emplear pero para que la confecciones te puede servir, si no das con ello, lo dicho me mandas el código del userform
>Un saludo
>Julio
Sub Imprimir()
Application.Dialogs(xlDialogPrint).Show
Sheets("6226").Range("A16").Value = Sheets("6226").Range("A16").Value + 1
este aumenta el valor de una celda al imprimir
y el proximo aumenta el valor en otra celda, no pude hacerlo de otro modo si tenes uno mejor te lo agradeceria con el alma.
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Sheets("6226").Range("d4").Value = Sheets("6226").Range("d4") + 1
End SubHola julio, te agradezco por la rapides al atender mi pedido, voy al grano, el tema es que si programo el textbox lo que lograria es que se sume el número de impresiones de rotulos, todo bien, lo que  necesito es que guarde el numero pero para el articulo que corresponda, si confecciono 10 rotulos para el articulo A y 5 para el B se sume en una base de datos (llamemosla asi) su correspondiente cantidad, o sea para ser mas claro si el numero de serie de A empezó con 15 al terminar de confeccionar ese rotulo por 10 unid. en la base de datos en otra hoja quede "25" y para B que empezó con 20 y confeccioné 5 rotulos quede en "25"
gracias y te paso la rutina que tengo.
Private Sub CommandButton1_Click()
Dim strfila$
Worksheets("6226").Activate
Dim fila As String
If TextBox1 = Empty Or TextBox3 = Empty Or TextBox4 = Empty Or TextBox5 = Empty Then
MsgBox prompt:="No deje ningun campo vacio", Buttons:=vbCritical, Title:="Advertencia"
GoTo seguir
End If
strfila$ = ActiveCell.Row
Range("D4").FormulaR1C1 = "0"
Range("A4") = TextBox1
Range("A70") = CLng(ComboBox1)
Range("A9") = TextBox3
Range("E4") = TextBox4
Range("B15") = TextBox5
TextBox1 = "": TextBox3 = "": TextBox4 = "": TextBox5 = ""
Exit Sub
Seguir:
TextBox1.SetFocus
End Sub
este es el codigo del form. 1 que deja los datos en la hoja.
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Sheets("6226").Range("d4").Value = Sheets("6226").Range("d4") + 1
End Sub
Sub Imprimir()
Application.Dialogs(xlDialogPrint).Show
Sheets("6226").Range("A16").Value = Sheets("6226").Range("A16").Value + 1
lo tuve que hacer asi porque me daba error 400 cuando lo programaba en el mismo sub
bueno fijate si podes hacer algo por mi.
Gracias y saludos.-
>Adrian.
Vamos a ver te dije que pusieses una variable para que la recoja la aplicación Print .
Yo lo he echo con un Inputbox para pedir el numero de las copias, quedaría así:
Sub imprimir()
Dim cuan As Integer
cuan = InputBox("Dime la cantidad")
ActiveSheet.PrintOut From:=1, To:=1, Copies:=cuan, Collate:=True
If cuan > 1 Then
Range("A1").Value = Range("A1").Value + cuan
End If
End Sub
Mirateló y adaptaló a tu código
>Un saludo
>Julio

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas