Jump to content

Copiar datos a otra hoja


Marcos14

Recommended Posts

Quisiera pediros un favor si puede ser ya que no se por donde tirar, necesito hacer una macro que cada dia se ejecute al abrir el libro y que haga lo siguiente:

Ha de coger los datos de la hoja Tabla_Horas_Trabajadas, en concreto los campos Nº EMPLEADO, NOMBRE, HORA ENTRADA Y HORA SALIDA y los copie en la hoja Resumen_Semanal, cada día de lunes a sábado, y que también me borre los datos del listbox que hay dentro del UserRegistroHoras, cada dia.
Espero que me haya explicado bien y ojala puedas ayudarme.
De ante mano gracias por vuestra atención

Sistema_Control_Trabajadores.xlsm

Link to post
Share on other sites

Hola Marcos14 , mi propuesta sería esta:

Desde tu formulario UserRegistroHoras al hacer doble click en cualquier línea del listbox se cargarían los datos en las cajas de textox, después debes pulsar el botón Guardar para modificar los cambios y una vez finalizada la jornada de todos los trabajadores debes pulsar el botón Finalizar Jornada para pasar todos los datos a la hoja Resumen_Semanal.

Cosas que he dejado para que tu tengas en cuenta y valides:

1.- Que cuando pulse el botón Finalizar Jornada si hay algún Trabajador que no haya finalizado su jornada te dé un aviso y que no permita continuar.

2.- Validar que al abrir tu archivo en hoja Tabla_Horas_Trabajadas en el rango (“A2:A16”) te ponga el día actual.

Como no tengo claro la parte que quieres borrar del lixtbox únicamente te borro lo que es la hora de Salida, ya que considero que el resto será siempre igual, exceptuando la Fecha que como te he dicho en el punto 2.- dejo para que tú la valides.

Si cumple con tus expectativas dímelo y subo el archivo modificado.

https://drive.google.com/open?id=1jIFCN-WOXKc0DWqDmYzGz-tm_hhuV9qS

Link to post
Share on other sites
En 25/1/2020 at 15:42 , JSDJSD dijo:

Hola Marcos14 , mi propuesta sería esta:

Desde tu formulario UserRegistroHoras al hacer doble click en cualquier línea del listbox se cargarían los datos en las cajas de textox, después debes pulsar el botón Guardar para modificar los cambios y una vez finalizada la jornada de todos los trabajadores debes pulsar el botón Finalizar Jornada para pasar todos los datos a la hoja Resumen_Semanal.

Cosas que he dejado para que tu tengas en cuenta y valides:

1.- Que cuando pulse el botón Finalizar Jornada si hay algún Trabajador que no haya finalizado su jornada te dé un aviso y que no permita continuar.

2.- Validar que al abrir tu archivo en hoja Tabla_Horas_Trabajadas en el rango (“A2:A16”) te ponga el día actual.

Como no tengo claro la parte que quieres borrar del lixtbox únicamente te borro lo que es la hora de Salida, ya que considero que el resto será siempre igual, exceptuando la Fecha que como te he dicho en el punto 2.- dejo para que tú la valides.

Si cumple con tus expectativas dímelo y subo el archivo modificado.

https://drive.google.com/open?id=1jIFCN-WOXKc0DWqDmYzGz-tm_hhuV9qS

Te comento, @JSDJSD lo que yo quiero es que me lo guarde dia a dia, el listbox funciona a traves de un lector de codigos QR, asi esta programado, para que cuando lea el codigo  qr del trabajador "A"  lo cargue en el listbox y esos datos vayan ya directamente a la hoja Tabla_Horas_Trabajadas, así es como funciona en estos momentos.

Lo que yo quiero es que cada dia, al finalizar la jornada, recoja los datos y los envie a la hoja Resumen_Semanal.

Espero haberme explicado

 

Link to post
Share on other sites
Hace 17 horas, JSDJSD dijo:

Hola Marcos14, al abrir el adjunto se abrirá tu formulario UserRegistroHoras, pulsa el botón de color verde (Finalizar Jornada) a ver si cumple con tu petición. Un saludo.

https://drive.google.com/open?id=11jfa1_0HpoAtbBaQlRqvDz56-bEEiKF1

@JSDJSD te pido disculpas si soy tan cateto que no entiendo lo que me has enviado.

Te pregunto.

Como se cargan los trabajadores y las horas de entrada y salida en el listbox.

He intentado yo hacer  esta macro que en cierta manera funciona pero no estoy seguro, esta macro va en un módulo, podrías echarle un vistazo por favor.

 

Link to post
Share on other sites
Hace 10 horas, Marcos14 dijo:

@JSDJSD te pido disculpas si soy tan cateto que no entiendo lo que me has enviado.

Te pregunto.

Como se cargan los trabajadores y las horas de entrada y salida en el listbox.

He intentado yo hacer  esta macro que en cierta manera funciona pero no estoy seguro, esta macro va en un módulo, podrías echarle un vistazo por favor.

 

 

macro.txt

Link to post
Share on other sites

Archived

This topic is now archived and is closed to further replies.

Guest
This topic is now closed to further replies.


  • Crear macros Excel

  • Posts

    • Hola, Una de las primeras cosas que se recomienda es que el consultante aporte toda la información que pueda servir para facilitar la ayuda solicitada. Saludos
    • Buenas tardes, Estoy intentando hacer un presupuesto en Exel he buscado en el foro y no he encontrado nada, he intentado hacer con sumar.si.conjunto pero no he sido capaz de solucionarlo. Lo que estoy intentando hacer es que de la hoja BD  en la columna E(Ingreso) reste la columna D(gasto) y traslado a la hoja Gastos el resultado a columna B(gastos/Ingresos),  cuando seleccione la fecha correspondiente dela hoja gastos columna B1. EspPresupuestos.xlsmero que me podáis ayudar Muchas gracias.
    • Muchas gracias por la respuesta pero no me sirve por 2 motivos: 1) borra todos los combobox del formulario y yo sólo quiero los 10 que indiqué 2) borra el contenido y la lista queda en blanco. Yo necesito que la lsita quede con contenido para elegir un nuevo valor. Saludos y muchas gracias.
    • El código que buscas es el siguiente. Lo puedes asignar a un botón, o incluirlo en algún módulo Dim ctrl As Control For Each ctrl In UserForm1.Controls If TypeName(ctrl) = "ComboBox" Then ctrl.clear End If Next
    • Hola a todos. Me gustaría me ayuden con lo siguiente. Quiero hacer una macro que borre el contenido de 10 combobox cuyo nombre es CbxComp1.....al....CbxComp10. Una forma de hacerlo es obviamente la que sigue (y me funciona): CbxComp1.Value = ""     CbxComp2.Value = ""     CbxComp3.Value = ""     CbxComp4.Value = ""     CbxComp5.Value = ""     CbxComp6.Value = ""     CbxComp7.Value = ""     CbxComp8.Value = ""     CbxComp9.Value = ""     CbxComp10.Value = ""   El tema es que quiero hacerlo con un bucle porque voy otras situaciones similares pero con más comboxes. He probado lo siguiente pero no me funciona (no soy experto): Dim i As Byte Dim k As String For i = 1 To 10     k = "CbxComp" & i & ".value"     k = "" Next i   Agradezco la ayuda de antemano
  • Recently Browsing

    No registered users viewing this page.

×
×
  • Create New...

Important Information

Privacy Policy