UniversoExcelForo

Respuesta a consultas.
Fecha de creación: 09.Abril.2012

Fundadores: Wibly,Tyno,Servando,Sakkar,Rosendo2,RMaximo,Railar,Mcoronel,Ioyama,Igtelo,Hugotron,Drochar,Dedos,Alberto,Adolfo

No se pueden hacer consultas de Excel o VBA por mensaje privado.
Utiliza el botón buscar del foro y te ahorras tiempo para obtener "ayuda".

No estás conectado. Conéctate o registrate

Ver el tema anterior Ver el tema siguiente Ir abajo  Mensaje [Página 1 de 1.]

1 generar tickets el 30/05/13, 06:25 pm

ñlkj


Amigos, necesito si me pueden orientar respecto a como generar ticket, se trata de dar ticket's para alimentacion al personal, la idea es que se pueda crear ticket por unidad en la hoja crear y esta genere registros en la hoja base de datos, en esta hoja deberia crearse una fila por cada registro, ademas de un correlativo de nº de ticket y un validador aleatorio, posteriormente tengo que imprimir el ticket en la hoja imprimir, de acuerdo a los tickets que genere el usuario y que no permita imprimir el ticket mas de una vez.

espero me puedan ayudar con alguna idea o algun codigo o si consideran que puede haber una forma mas simple de generar los tickets.
Archivos
TICKET.xlsx
No tienes los permisos para descargar los archivos.
(11 KB)

2 Re: generar tickets el 30/05/13, 11:45 pm

tyno


Hola ñlkj.

Te paso el archivo, para que veas como va quedando, con una macro que va creando un numero único de ticket y el numero aleatorio VALIDADOR una vez que ingresas la fecha, así mismo el registro se guarda en la Hoja BASE_DATOS.
Lo que me faltó hacer momentáneamente en el archivo es la parte que crea los tickets en la Hoja IMPRIMIR porque no entiendo bien si lo que necesitas es que la macro rellene la Hoja con los tickets, con el formato que tenes de ejemplo, o bien que la macro vaya creando los tickets y los imprima de uno a la vez, si me podes aclarar esta parte así terminaría la macro. En caso que quieras que la Hoja se complete con los tickets me tendrías que decir cuantos tickets van de forma horizontal y cuantos de forma vertical, supongo que 5x6, pero bueno, ese el dato que necesito. Saludos.
Archivos
TICKET.zip
No tienes los permisos para descargar los archivos.
(23 KB)

3 generar tickets el 31/05/13, 03:37 pm

ñlkj


Hola, agradezco la respuesta, revise el archivo pero cuando la cantidad es 5 yo quiero que se generen 5 ticket en la hoja base de datos y solo se genera 1, y en la hoja imprimir el usuario ingresa el rango de tickets a imprimir si quiere desde el 5 al 40 imprimiria 36 tickets, no se cuantos tickets podrían ser por hoja como maximo, pero si son 10 serian 4 hojas y lo otro importante es que el numero de ticket impreso no se puede imprimir de nuevo, no se si se podría manejar con un estado para controlar eso.

nuevamente muchas gracias

4 Re: generar tickets el 02/06/13, 11:35 pm

tyno


Hola de nuevo.
Paso el archivo, ahora con la modificación de la macro según lo que entendí de tu último comentario.
En este caso se generan la cantidad de tickets que se indiquen en la Hoja CREAR_TICKET.
Dichos tickets se crean con numeración consecutiva desde el número del último ticket anteriormente ingresado en la Hoja BASE_DATOS que pueda existir, de lo contrario la numeración comienza desde 1.
El numero validador, que es aleatorio se establece, en la Hoja CREAR_TICKET y luego se repite por cada ticket creado de la serie en la Hoja BASE_DATOS.
En la Hoja IMPRIMIR se encuentra un botón que ejecuta un formulario, en el cual se pueden ver los tickets que aún no se han impreso.
Una vez que se imprime una serie de tickets estos se señalan con el texto "si" en la Hoja BASE_DATOS, de manera que la macro los ignore para imprimirlos en otra oportunidad.
Suponiendo que se elige imprimir la serie de tickets que va desde 1 hasta 100, pero los tickets 30 al 40 ya fueron impresos, en este caso la macro los omite porque ya estarían señalados como impresos justamente. De esta manera no es necesario tomarse el trabajo de ingresar exactamente la serie de tickets que se desea imprimir.
La base de tickets esta hecha para el tamaño de hoja A4, con lo cual se imprimen 18 tickets por Hoja.
Suponiendo que se quiere imprimir 25 tickets entonces se imprime dos veces la Hoja Excel 18+7, cada ticket tiene su numeración correlativa y el numero validador.
De momento sería esto, proba el archivo ingresando nuevos datos y realizando impresiones con la impresora apagada, solo para ver cómo se generan los archivos en la cola de impresion.
Hace una impresión de prueba para ver el tamaño de la Hoja y si coincide con la disposición de los tickets como lo hice que no se si te sirve el que yo establecí y cualquier cosa me avisas para modificar. Saludos.
Archivos
ticket.zip
No tienes los permisos para descargar los archivos.
(52 KB)

5 IMPRIMIR el 03/06/13, 11:15 am

ñlkj


Hola, agradezco nuevamente la gentileza de enviarme el archivo modificado, pero realice una prueba y al generar los tickets 44- 45 me imprimió la hoja completa (generó mas tickets)y también me percate de que el validador es el mismo.
Otro punto que me gustaría cambiar es que solo imprima doce tickets (2x6).

6 Re: generar tickets el 03/06/13, 12:02 pm

tyno


OK, esta tarde reviso el archivo para ver esto que me comentas y modificar la cantidad de ticket por Hoja.

La impresión siempre es la Hoja completa por mas que se ingrese un solo ticket, pero ahora que lo pienso podría ajustar mas el rango de impresión.

Lo del validador hice que se repita para cada serie de tickets porque considere que este era el mismo para cada serie, dado que en la Hoja CREAR_TICKET hay solo una celda donde se puede ingresar un solo validador para cada serie de tickets, pero creo que no hay problema en asignar un numero validador aleatorio para cada ticket.

Así que mas tarde estaría subiendo el archivo. Saludos.

7 generar tickets el 03/06/13, 12:14 pm

ñlkj


ok, muchas garcias, y estaba pensando como anular un ticket y si podría ser con una contraseña de administrador?

8 Re: generar tickets el 03/06/13, 11:05 pm

tyno


Hola ñlkj.

Paso el archivo con las correcciones y modificaciones.
Se imprimen 2X6 tickets por Hoja.
Ajuste un poco mas la impresión para que se adapte a la ultima fila de tickets que pueda tener datos.
También se genera un nº validador aleatorio por ticket.
En caso que quieras modificar el tamaño del diseño de los tickets podes modificar el ancho de las columnas pero no cambies de lugar los datos de las columnas.
Con respecto a anular un ticket, ya que esto se guardan en la Hoja BASE_DATOS lo que se me ocurrió es que ocultes esta Hoja y protejas el Libro Excel con una contraseña, de hecho hice esto. De esta manera nadie podrá tocar los registros de la Hoja BASE_DATOS, solamente desprotegiendo el Libro se pude mostrar la Hoja BASE_DATOS y acceder los datos.
Entonces lo primero que haces es ocultar la Hoja BASE_DATOS, luego para proteger el Libro y bloquear esta Hoja oculta, vas a la pestaña Archivo (la primer pestaña del Libro), Información, Permisos, opción Proteger estructura del libro, verificas que este tildada la opción Estructura e ingresas una contraseña, volves a ingresar la contraseña y con eso quedaría protegida la Hoja BASE_DATOS que has ocultado primeramente. Para desproteger el archivo y poder acceder a la Hoja BASE_DATOS nuevamente repetís los mismos pasos, lo único que ahora te va a aparecer un cuadro de texto para ingresar la contraseñas que habías establecido para desproteger el archivo.
El archivo que te envió tiene la Hoja BASE_DATOS oculta y protegida con la contraseña 123, por lo tanto tendrías que desbloquear como te lo indiqué y luego mostrar Hoja.
Como siempre no tengas problemas en avisarme lo que sea necesario modificar o corregir. Saludos.


Archivos
ticket.zip
No tienes los permisos para descargar los archivos.
(39 KB)

9 Re: generar tickets el 04/06/13, 11:35 am

ñlkj


Tyno:

Hola, yo de nuevo, desprotegí el archivo, lo revisé y me encontre con que en la hoja base de datos, esta generando unregistro mas, genere del 1 al 5 y genera 6 tickets.

gracias neuvamente.

ñlkj

10 Re: generar tickets el 04/06/13, 03:33 pm

tyno


Hola.

De momento no puedo ver tu archivo, pero si te animas a modificar la macro para solucionar ese detalle que me comentas, te explico como hacerlo es muy facil:

En la Hoja CREAR_TICKET oprimis simultaneamente las telcas Alt y F11 (Alt+F11), con esto vas a ver el editor de macros y buscas dentro del codigo la linea que te indico abajo:

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next

Dim rg As Range
Set rg = Range("e3:e10000")

If Union(Target, rg).Address = rg.Address Then
If Target <> "" And Target.Offset(0, 1) = "" Then
With Target
.Offset(0, 1) = Val(Sheets("BASE_DATOS").Range("b2").End(xlDown).Rows) + 1 'nº ticket

.Offset(0, 1).NumberFormat = "@"
.Offset(0, 3).NumberFormat = "@"

ceros = 8 - Len(.Offset(0, 1))
If Len(.Offset(0, 1)) < 8 Then .Offset(0, 1) = WorksheetFunction.Rept("0", ceros) & .Offset(0, 1) 'nº ticket desde

End With

With Sheets("BASE_DATOS")

For a = 0 To Cells(Target.Row, 4) <<<Esta linea es la que hay que modificar

Una vez que ubicas esta linea del codigo la borras y reemplazas por esta:

For a = 0 To (Cells(Target.Row, 4) * 1) - 1

Das guardar y con eso ya deberian generarse bien los numeros de tickets.
Cualquier cosa me avisas, si no esperame hasta mas tarde y veo el archivo. Saludos.

11 tickets el 04/06/13, 06:56 pm

ñlkj


Si, me animo gracias, hare la modificacion y te cuento.

12 generar tickets el 05/06/13, 10:39 am

ñlkj


Hice lo cambios y funcionó, muchas gracias por tu ayuda.

13 generar tickets el 06/06/13, 11:02 am

ñlkj


hola, sabes quiero hacer un cambio en el archivo para que ahora imprima tickets en un rango de fechas, modifique el archivo he hice una formula pero no me resulto porque no genera los numeros de ticket, lo que quiero hacer es sacar la diferencia entre las fechas y multiplicarla por la cantidad de tickets diarios. Y lo otro si me puedes indicar como imprimes el ticket pq me gustaria agregarle otras filas pero que van a quedar en blanco, por ejemplo nombre.

garcias de antemano

ñlkj
Archivos
ticket.xlsm
No tienes los permisos para descargar los archivos.
(46 KB)

14 Re: generar tickets el 06/06/13, 12:20 pm

tyno


Hola ñlkj ¿tenes un nombre o un apodo mas ameno para comunicarnos? Very Happy
Esta tarde reviso tu archivo. Saludos.

15 Re: generar tickets el 09/06/13, 07:50 pm

tyno


Hola ñlkj.
Paso tu archivo, ahora se genera la cantidad de tickets indicando una fecha inicial y una fecha final, por ejemplo si ingresamos fecha inicial 01-06-13 y fecha final 20-06-13 y ponemos cantidad de tickets por 10, entonces vamos a obtener 200 tickets para el periodo 01-06-3/20-06-13. Por este motivo agregue en el formulario para imprimir la opción de imprimir seleccionando de la lista los tickets que deseas de un período, a parte de la opción que ya se encontraba de seleccionar el ticket "desde-hasta". Con respecto a lo agregar filas, no entiendo bien, quisieras agregar un dato mas al ticket, eso seria cuestión de crear otra columna, que por lo que entiendo, seria para el nombre y luego se imprimiria en el ticket. Esto tendrías que indicarme como quedaria, por eso te paso este archivo y vas viendo como te parece que debería quedar dispuesto el nombre en la Hoja IMPRIMIR.
Archivos
ticket.zip
No tienes los permisos para descargar los archivos.
(51 KB)

16 generar tickets el 10/06/13, 01:18 pm

ñlkj


Hola, agradezco nuevamente la gentileza, revise el archivo y genera el rango que necesito, lo que si es que en la impresión del ticket no pone la fecha a la que corresponde muestra el rango, lo que yo necesito es que si imprimo el rango de 01-06-2013 al 10-06-2013 con una cantidad diaria de 5 tickets, me genere los 50 tickets pero con la fecha, es decir del ticket 01 al 05 sea con fecha 01-06-2013 y del 06 al 10 con fecha 02-06-2013 y así sucesivamente.
Te envío el archivo porque modifique el formato del ticket con un logo.


saludos

17 Re: generar tickets el 10/06/13, 02:19 pm

tyno


Ok, creo que entiendo. Y una vez que tengas los tickets ¿como lo vas a seleccionar para imprimirlos? ¿Los va a seguir imprimiendo por numero desde-hasta o ahora queres seleccionar un fecha inicial y final para imprimir?
El archivo que mencionas no ha subido, quizás deberías comprimirlo como ZIP. Saludos.

18 generar tickets el 10/06/13, 03:33 pm

ñlkj


creo que con número de ticket desde - hasta está bien,pero si esta la opción de filtrar por fecha seria mejor.

19 Re: generar tickets el 11/06/13, 10:15 pm

tyno


Hola ñlkj.
Paso el archivo con la asignacion de la fecha segun la cantidad de tickets por dia y tambien agregue la opcion de imprimir seleccionando una Fecha Desde-Fehca Hasta, a parte de numero de ticket DESDE-HASTA o seleccionar los tickets que se quieren imprimir. Saludos
Archivos
ticket3.zip
No tienes los permisos para descargar los archivos.
(44 KB)

20 ticket el 21/06/13, 05:34 pm

ñlkj


Tengo un problema con al regeracion de los tickets en la misma fecha no me permite crear tickets para los distintos tipos de colacion ni para otras unidades, por ejemplo si el almuerzo es desde la fecha 01/07/2013 al 31/07/2013 no me permite generar tickets para la once con el mismo rango de fecha, me aparece un mensaje de alerta
"la fecha debe ser progresiva no inferior a al ultima fecha ingresada"
y yo necesito crear con la misma fecha para los diferentes tipo de alimentacion y a su vez para distintas unidades.
Archivos
ticket.docx
No tienes los permisos para descargar los archivos.
(135 KB)

21 Re: generar tickets el 22/06/13, 10:53 am

tyno


Hola ñlkj.
Te envío el archivo con la modificación de los criterios que impedían ingresar una fecha inferior a la ultima que se ingreso inmediatamente antes, y también modifique el formulario para imprimir, ya que con esta nueva disposición resultaría imposible imprimir seleccionando una fecha desde-hasta.
Ahora lo que vas a ver en el formulario para imprimir es la lista de los grupos de tickets que has creado en la Hoja CREAR_TICKET, de manera que podes seleccionar uno de estos grupos e imprimirlo todo de una vez, luego se marca como impreso y se omite para futuras impresiones.
Como siempre no dudes en consultarme cualquier cosa. Saludos.
Archivos
ticket4.zip
No tienes los permisos para descargar los archivos.
(49 KB)

22 generar tickets el 24/06/13, 06:18 pm

ñlkj


gracias, revise el archivo y efectivamente se efectuó el cambio, pero ahora permite pedir por la misma unidad, el mismo tipo de colación.
es decir almuerzo administración 01-07-2013 al 31-07-2013
           almuerzo administración 01-07-2013 al 31-07-2013  
La idea es que valide que una unidad no pueda pedir tickets nuevamente en una fecha ya generada, y antes de imprimir se podria cmbiar la fecha de termino porque al poner esta fecha una vez no permite que al modificarla genere nuevos tickets (ej. al poner de 01-07-2013 al 10-07-2013 pongo 1 en cantidad y me genera 10 tickets pero si despues cambio a 11-07-2011 no cambia a 11, ademas como se podría dejar la columna cantidad solo para que acepte números, porque al poner una letra genera un ticket error, y por ultimo podría ir protegiendo las filas de tickets ya generadas para que no puedan ser borradas.

23 Re: generar tickets el 29/06/13, 01:27 am

tyno


Hola nlkj.

Paso tu archivo con las modificaciones que has solicitado.
Cuando necesites cambiar la cantidad de algún ticket que ya fue creado lo que tienes que hacer es seleccionar la celda de la columna I (N_TICKET (Hasta)) de dicho ticket y veras que aparece un botón "<<Modificar Cantidad", esto despliega un cuadro para ingresar la nueva cantidad la cual obviamente no debe ser igual, entonces con esto se crea una nueva serie tickets y se elimina la que estaba creada. No se puede extender o ampliar la serie de este ticket que queremos modificar porque esto tendría que afectar  la numeración de tickets posteriores que ya se pudieron haber imprimido, por esto opte por que se cree una nueva serie y se eliminen los anteriores.
También agregue algunas  restricciones a la hora de ingresar datos en la Hoja CREAR_TICKET: 
se impide ingresar letras o caracteres en las columnas de CANTIDAD y FECHAS.
se impide ingresar fechas anteriores al año actual en las columna de las FECHAS (no se si esto te parece que pueda servir).
se impide ingresar tickets que contenga la misma COLACION, UNIDAD y Fechas en caso que ya se hubiese ingresado antes.
se impide ingresar tickets que contenga la misma COLACION, UNIDAD que el registro inmediato anterior, siempre y cuando la fecha inicial sea igual/inferior a la fecha final del registro inmediato anterior.

Como siempre revisa el archivo para ver si funciona con distintas alternativas. Saludos.
Archivos
ticket5.zip
No tienes los permisos para descargar los archivos.
(78 KB)

Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje [Página 1 de 1.]

Permisos de este foro:
No puedes responder a temas en este foro.