Crear ordenes de trabajo en base a una lista

Respuesta de
kgb_elantro
a
Usuario
Hola y muchas gracias anticipadamente.
Tengo una tabla donde los usuarios van a ingresar fila por fila algunas tareas que van a ir enumeradas, ademas de otros datos, como fecha, prioridad, etc. Por cada tarea necesito que se elabora una orden de trabajo nueva que contenga todos los datos que están en esa fila. Lo que necesito es que la ultima columna sea un hyperviculo para crear una nueva orden de trabajo con los datos que estén en esa fila.
Espero haberme dado a entender, mil gracias!
Avatar
Experto
Se te entiende, y te puedo ayudar, pero creo que te faltan datos.
Dame todos los títulos de los datos que vas aingresar. Nº orden (que ira generando sola), fecha, prioridad, tarea, nombre etc...
Ademas el formato de la hoja en donde ira la orden nueva ¿cuál sera?, ¿Ademas esta orden es solo para imprimirlas o se irán guardando?.
Con macros se puede hacer, pero debes definir lo que anteriormente te mencione
Saludos.
 
 
Usuario
Mil disculpas, tienes mucha razón
Los titulos son: Number, Listing Date, Description of Work, Comments, Priority Level, Completion Date y Work Performed By
El archivo nuevo debe jalar esta información a un formato llamado "Repair Work Order". Cada "number" debe generar una orden diferente. Solo es para imprimirla.
Mil mil gracias por tu atención y tiempo
Avatar
Experto
Hace el siguiente ejercicios para que comprendas como lo puedes hacer, una ves que lo entiendas, lo puedes adaptar a tu trabajo.
* En Hoja 1, en la primela fila escribe los titulos de cada campo ojo que inclui un campo llamado Orden (los datos estan de la columna A hasta la H)
Number - Listing Date - Description of Work -  Comments - Priority Level  - Completion Date-  Work Performed By  - Orden
En la Hoja 2: comienza en A1 escribiendo los títulos uno a uno hacia abajo, terminaras en A7.
Acá viene lo importante en la hoja1 inserta una imagen, autoforma o botón. Con el botón derecho le haces un clic sobre ella y elijes "asignar Macro". Luego pegas el código que esta abajo. Y listo, ya tienes una macro que copia y pega una orden.
Range("A2").Select
While ActiveCell.Value <> ""
 ActiveCell.Offset(0, 7).Select
   If ActiveCell.Value <> "Generada" Then
       'aca le pone "generada" en la comlumna H a las ordenes que vas generando
       ActiveCell.Value = "Generada"
       ActiveCell.Offset(0, -7).Select
      
       'Aqui vas copiando los datos de la hoja 1 a la hoja 2
       Hoja2.Range("b1").Value = ActiveCell.Value
       ActiveCell.Offset(0, 1).Select
       Hoja2.Range("b2").Value = ActiveCell.Value
        ActiveCell.Offset(0, 1).Select
       Hoja2.Range("b3").Value = ActiveCell.Value
        ActiveCell.Offset(0, 1).Select
       Hoja2.Range("b4").Value = ActiveCell.Value
        ActiveCell.Offset(0, 1).Select
       Hoja2.Range("b5").Value = ActiveCell.Value
        ActiveCell.Offset(0, 1).Select
       Hoja2.Range("b6").Value = ActiveCell.Value
        ActiveCell.Offset(0, 1).Select
       Hoja2.Range("b7").Value = ActiveCell.Value
       ActiveCell.Offset(0, 1).Select
      
     End If
     ActiveCell.Offset(1, -7).Select
   Wend
Avatar
Experto
EStimado Amigo:
Si la respuesta te sirvió, favor de cerrarla y valorizala, si no fue así, seguiré atento a tus comentarios.
Saludos
Usuario
Hola! Nuevamente mil gracias! Funciono muy bien. Sigo trabajando en eso, voy a tratar de adáptalo a la orden de trabajo.
El excel en esta computadora esta en ingles por lo que tuve que cambiar "Hoja2" por "Sheet2" :)
Solo tengo una pregunta más...
¿Si tengo una orden ya generada hay alguna manera de hacer la orden con los mismos datos nuevamente?
Thnks a lot!!!
Avatar
Experto
Claro, lo único que tienes que hacer si quieres volver a reimprimir una orden, en la columna donde el sistema le asigana la palabra "Generada", basta con dejarla en blanco, así la macro asumirá que no fue procesada y la volverá a generar.
 
Saludos
Usuario
Excelente!
Te agradezco mucho el tiempo y la paciencia :)
Saludos!