Colocar semana inicial de trabajo y frecuencia de repetición VBA

Estoy haciendo un programa en VBA para programar la semana inicial de trabajo y la frecuencia de trabajo. Estoy medio complicado con la planificación(Marcar con x la semana que le toca mantención)

He podido hacer todo lo que es registro de equipos y formularios.

En este video, se puede apreciar lo que quiero lograr. https://www.youtube.com/watch?v=sUpQ42aM4TA 

La idea es que funcione con cada equipo programado anteriormente.

El código que estoy viendo es el siguiente.

Sub prueba()

Dim resultado As Range
Dim valorbuscado As Integer
Dim c As Integer

'fila = ActiveCell.Row

'ActiveCell.Offset(5, 1).Select
c = Range("B4") + Range("C4")
Range("D5") = c 'Valor resultante, suprimir final
valorbuscado = c

Set resultado = Range("F1:BG1").Find(c)

If Range("F1:BF1").Select = resultado Then
Range("I5").Value = "x" % acá quiero poner la X en el valor de la columna que encontró la semana y sumarle la fila correspondiente para que se escriba en la máquina que corresponda.

Else
Range("H6") = 0
End If

1 Respuesta

Respuesta
1

H o l a:

Envíame tu archivo y me explicas con detalle un ejemplo de lo que quieres.

En la hoja me explicas el ejemplo con colores, comentarios, imágenes, con todo lo que tengas, pero me explicas el ejemplo.

Mi correo [email protected]

En el asunto del correo escribe tu nombre de usuario “Christian Acuña” y el título de esta pregunta.

Listo, envié el correo, Muchas gracias!

Listo.

Te anexo la macro

Sub Frecuencia()
'Por.Dante Amor
    ActiveSheet.UsedRange.Offset(1, 3).ClearContents
    For i = 2 To Range("B" & Rows.Count).End(xlUp).Row
        If valida(i) Then
            Set b = Rows(1).Find(Cells(i, "B"), lookat:=xlWhole)
            If Not b Is Nothing Then
                For j = b.Column To Columns("BE").Column Step Cells(i, "C")
                    Cells(i, j) = "x"
                Next
            End If
        End If
    Next
    MsgBox "Fin"
End Sub
'
Function valida(i)
'Por.Dante Amor
    If Cells(i, "B") >= 0 And Cells(i, "B") <= 53 Then
        valida = True
    Else
        valida = False
        Cells(i, "D") = "Semana inicial incorrecta"
        Exit Function
    End If
    If Cells(i, "C") = 0 Or Cells(i, "C") = "" Or Cells(i, "C") > 53 Then
        valida = False
        Cells(i, "D") = "Frecuencia incorrecta"
    Else
        valida = True
    End If
End Function

sal u dos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas