Indicar filas y columnas mediante Userform

Me gustaría ingresar el valor "x" en una fila y columnas determinadas. El problema es que las filas serian los días del mes (es decir de 1 a 31) y las columnas serian las horas del día (de 0 a 23), lo que ocurre que las columnas están con letras y quisiera decir que al indicar que el día (fila) 5 y las horas (columnas) de 4 a 8 se coloquen las "x" en dichas celdas. Lo deseo realizar mediante un Useform, aunque no se si existen otras alternativas.

Dicho de otra manera la fila 5 es el dia 5, y de 4 a 8 seria las columnas de D a H.

1 respuesta

Respuesta
1

H o  l a:

Tu idea es capturar en el userform un día y una rango de horas, ¿presionar un botón y que la macro vaya y ponga la "x" en las celdas?

Envíame tu archivo de excel y si ya tienes un userform o una propuesta de userform, también me la envías para revisarla.

Efectivamente Dante.

Gracias por la información. Como me indicabas te enviado el archivo al correo.

Saludos

H o l a:

No me llegó tu correo. Revisa bien mi correo:

Mi correo [email protected]

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

¡Gracias! 

He vuelto a enviar el correo, espero que ahora si te llegue

Gracias

H o l a:

La macro para colocar las "X" es esta:

Private Sub CommandButton1_Click()
'Por.Dante Amor
    If validar = False Then Exit Sub
    For i = Val(TextBox2) To Val(TextBox3)
        Cells(Val(TextBox1) + 2, i + 2) = "X"
    Next
End Sub

Pero para que la macro anterior funcione correctamente, se tiene que verificar o validar que los datos que escribas en los textbox cumplan con ciertas características.

La macro para validar es esta:

Function validar()
'Por.Dante Amor
    validar = False
    If TextBox1 = "" Or Not IsNumeric(TextBox1) Then
        MsgBox "Inserta un día válido"
        TextBox1.SetFocus
        Exit Function
    Else
        If Val(TextBox1) < 1 Or Val(TextBox1) > 31 Then
            MsgBox "Inserta un día válido"
            TextBox1.SetFocus
            Exit Function
        End If
    End If
    If TextBox2 = "" Or Not IsNumeric(TextBox2) Then
        MsgBox "Inserta una hora válida"
        TextBox2.SetFocus
        Exit Function
    Else
        If Val(TextBox2) < 0 Or Val(TextBox2) > 23 Then
            MsgBox "Inserta una hora válida"
            TextBox1.SetFocus
            Exit Function
        End If
    End If
    If TextBox3 = "" Or Not IsNumeric(TextBox3) Then
        MsgBox "Inserta una hora válida"
        TextBox3.SetFocus
        Exit Function
    Else
        If Val(TextBox3) < 1 Or Val(TextBox3) > 31 Then
            MsgBox "Inserta una hora válida"
            TextBox3.SetFocus
            Exit Function
        End If
    End If
    If Val(TextBox3) < Val(TextBox2) Then
        MsgBox "La hora final debe ser mayor o igual a la hora inicial"
        TextBox3.SetFocus
        Exit Function
    End If
    validar = True
End Function

Pon ambas macros dentro del código del userform.


':)
'S aludos. D a n t e   A m o r . R ecuerda cambiar la valoración a la respuesta. G racias
':)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas