Comparar una celda con un textbox

Al que me pueda ayudar lo siguiente: Tengo un cuadro en excel en donde algunos de sus campos son Obra, Fecha (Desde - Hasta), # de Maquina, etc... En la columna C, tengo las fechas que he capturado mediante un userform para llenar el cuadro, luego quiero sacar un reporte por Maquina y por Mes, por medio de otro userform pido estos datos para luego hacer la comparación, lo que no se, es como hacer para comparar solo el mes de la fecha de la columna C, con el mes introducido en el textbox. Teniendo en cuenta que tengo una fecha completa, es decir, dd/mm/aa y que solo pido el mes (mm) en el textbox de reporte. De antemano muchas gracias.

1 Respuesta

Respuesta
1
Checa este ejm, cada objeto tiene el nombre por default, ya solo adáptalo:
Dim U, R, Mes As Long
Dim Tot As Double
Private Sub CommandButton1_Click()
U = Range("a" & Rows.Count).End(xlUp).Row
Mes = Month(Cells(3, 3))
For R = 2 To U
    Mes = Month(Cells(R, 3))
    If Mes = Me.TextBox1.Value Then
        Tot = Tot + Cells(R, 2).Value
    End If
Next
Tot = 0
U = 0
R = 0
Mes = 0
End Sub
Private Sub TextBox1_AfterUpdate()
Me.TextBox1.Value = Format(Me.TextBox1.Value, "00")
End Sub
Buenos dias, me encanta excel y de lo simple que es a la hora de hacer cualquier rutina, pero como estoy nueva en la materia, no entiendo que hacen algunas de sus rutinas como por ejemplo U = Range("a" & Rows.Count).End(xlUp).Row, si pudieras etiquetarlas todas para saber que hacen y asi adaptarlas y gracias por tu ayuda.
Ok, checa
Dim U, R, Mes As Long
Dim Tot As Double
Private Sub CommandButton1_Click()
'Guarda en U la ultima fila con registro
U = Range("a" & Rows.Count).End(xlUp).Row
'Guardar en Mes el Numero de Mes
Mes = Month(Cells(3, 3))
'Recorre el rango de celdas para ver si cumple la condicion
For R = 2 To U
    Mes = Month(Cells(R, 3))
    If Mes = Me.TextBox1.Value Then
'Tot es una variable donde voy a guardar una suma de valores de la columna B (2)
        Tot = Tot + Cells(R, 2).Value
    End If
Next
'Reinicio las variables a 0
Tot = 0
U = 0
R = 0
Mes = 0
End Sub
Private Sub TextBox1_AfterUpdate()
'da formato de 2 digitos al textbox
Me.TextBox1.Value = Format(Me.TextBox1.Value, "00")
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas