Modificar horarios según formularios Excel

Me puede ayudar con este formulario lo que sucede estoy elaborando un planificador de horarios para tres tienda ya tengo la horas por tiendas, por áreas y por días de la semana

Este es el formulario que tengo de los trabajadores por una semana pero el tema que a veces podemos mover a los trabajadores en cualquier día de la semana a cualquiera de las tienda debido a que el trabajador siempre va a pertenecen a una tienda pero por apoyo se le puede mover. El formulario busca al trabajador y según el horario asignado para la semana y a la tienda al que esta asignado.

Ejm. Trabajador 1 esta asignado toda la semana a la tienda 1 pero el día martes esta asignado a la tienda 2 y viernes a la tienda 3 solo va a estar 5 días en la tienda 1.Me puede ayudar con un código para que cuando cambie de tienda cualquier día el nombre del trabajador se copie en la tienda que se la ha asignado ese día, con el horario asignado para esa tienda y que los días que no esta en la tienda me indique la tienda en la que esta esos días

Slds

Robert

1 Respuesta

Respuesta
1

H o l a:

No estoy entendiendo lo que necesitas:

"para que cuando cambie de tienda cualquier día el nombre del trabajador se copie en la tienda que se la ha asignado ese día"

¿Supongo qué cuando? Presionas el botón guardar, ¿quieres qué el nombre del trabajador se copie? ¿En dónde?

Tal vez, si me explicas en dónde se tiene que pegar, es decir, qué dato quieres copiar y en dónde lo quieres pegar.

También a que te refieres con esto:

"con el horario asignado para esa tienda"

Y esto:

"y que los días que no esta en la tienda me indique la tienda en la que esta esos días"

Toda esa información de dónde se obtiene y en dónde quieres ponerla.

Si quieres envíame un archivo y me explicas paso a paso, qué formulario, ¿qué datos pongo y qué esperas de resultado?

Mi correo [email protected]

En el asunto del correo escribe tu nombre de usuario “Robert Cordova” y el título de esta pregunta.

Hola Dante

ya le envié el correo

Slds

Robert

Hola Dante le llego el correo que le envié

Slds

Robert

Ya me llegó, cuando tenga una respuesta te la envío.

Te anexo el código para pasar los datos a la hoja:

Private Sub CommandButton1_Click()
'Por.Dante Amor
    Set h1 = Sheets("personal")
    Set h2 = Sheets("BlockHora")
    Set b = h1.Columns("c").Find(ComboBox2, lookat:=xlWhole)
    If Not b Is Nothing Then
        tienda = h1.Cells(b.Row, "G")
        h1.Cells(b.Row, "h") = LUNES.Text
        h1.Cells(b.Row, "i") = MARTES.Text
        h1.Cells(b.Row, "j") = MIERCOLES.Text
        h1.Cells(b.Row, "k") = JUEVES.Text
        h1.Cells(b.Row, "l") = VIERNES.Text
        h1.Cells(b.Row, "m") = SABADO.Text
        h1.Cells(b.Row, "n") = DOMINGO.Text
    End If
    '
    colent = 4
    colsal = 5
    ent = 1
    sal = 2
    For i = 12 To 18
        existe = False
        Set r = h2.Columns("B")
        Set b = r.Find(ComboBox2, lookat:=xlWhole)
        If Not b Is Nothing Then
            ncell = b.Address
            Do
                'detalle
                If Controls("ComboBox" & i) = h2.Cells(b.Row, "A") Then
                    fila = b.Row
                    existe = True
                    Exit Do
                Else
                    h2.Cells(b.Row, colent) = Controls("ComboBox" & i)
                    h2.Cells(b.Row, colsal) = Controls("ComboBox" & i)
                End If
                Set b = r.FindNext(b)
            Loop While Not b Is Nothing And b.Address <> ncell
        End If
        '
        If existe Then
            'Modificar
            hora = Hour(Controls("TextBox" & ent))
            minuto = Minute(Controls("TextBox" & ent))
            h2.Cells(fila, colent) = TimeSerial(hora, minuto, 0)
            hora = Hour(Controls("TextBox" & sal))
            minuto = Minute(Controls("TextBox" & sal))
            h2.Cells(fila, colsal) = TimeSerial(hora, minuto, 0)
        Else
            'agregar
            u = h2.Range("A" & Rows.Count).End(xlUp).Row + 1
            h2.Cells(u, "A") = Controls("ComboBox" & i)
            h2.Cells(u, "B") = ComboBox2
            h2.Cells(u, "C") = ComboBox10
            hora = Hour(Controls("TextBox" & ent))
            minuto = Minute(Controls("TextBox" & ent))
            h2.Cells(u, colent) = TimeSerial(hora, minuto, 0)
            hora = Hour(Controls("TextBox" & sal))
            minuto = Minute(Controls("TextBox" & sal))
            h2.Cells(u, colsal) = TimeSerial(hora, minuto, 0)
        End If
        colent = colent + 2
        colsal = colsal + 2
        ent = ent + 2
        sal = sal + 2
    Next
    '
MsgBox "Se cargo la informacion", vbApplicationModal, "SE CARGO"
End Sub

S a l u d o s . D a n t e   A m o r. Recuerda valorar la respuesta. G r a c i a s

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas