Buscar con macro un valor que cumpla con dos criterios de búsqueda

Tengo una tabla de la siguiente forma

Productos codigo Septiembre Octubre..

          A          1            Guardado

          B           2             guardado

          C            3           NO guardado

Lo que quiero que haga la macro es que busque en la columna de productos y meses si hay conicidencia. Me explico

Son muchos productos que se les toma muestra y se guardan una vez al mes, el punto es que el producto se fabrica muchas veces al mes y a veces no se sabe si se guardó o no la muestra y hay que buscar las muestras y verificarlo y resulta tedioso.

Lo que quiero es verificar a través de una planilla si está guardado o no.

La primera vez que se fabrica en el mes se escribe guardado, los demás productos se mantienen como no guardados por defecto.

Si luego de dos o tres semanas se vuelve a fabricar, lo que quiero es que busque si el producto, en el mes de septiembre, por ejemplo, está guardado o no y que me lo diga con un msgbox y que me de la opción de cambiar de no guardado a guardado, cuando encuentre un producto no guardado.

Lo he intentado y No me resulta, porque necesito que busque dos criterios, el producto (ingresándolo con inputbox) y el mes, o la columna del mes, en este caso septiembre, también con ingreso inputbox. Si quiero el mes de octubre, entonces, cuando me pregunte el mes de búsqueda escribo octubre y buscará si el producto que especifiqué esta guardado o no guardado en el mes de octubre.

Si está guardado que me diga, el producto ya está guardado, si no, que me diga, el producto no ha sido guardado, guardalo ahora. Desea cambiar de no guardado a guardado si o no, y una vez se haya guardado la muestra se pone si y automaticamente se cambia.

1 respuesta

Respuesta
1

H o l a:

Envíame tu archivo y te preparo un formulario. En el archivo, me explicas con un ejemplo cómo sería la mecánica o el procedimiento, ya que tengo la duda, si el producto fue fabricado en Agosto, y tu quieres saber si fue guardado en octubre, ¿entonces qué solamente se realice la búsqueda en octubre?

Mi correo [email protected]

En el asunto del correo escribe tu nombre de usuario “Sebastián Villarroel” y el título de esta pregunta.

Muchas gracias mi amigo. Te envié el archivo a tu correo. Saludos

Te anexo el código para el formulario.

Private Sub ComboBox1_Change()
'Por.Dante Amor
    ponerestatus
End Sub
'
Sub ponerestatus()
'Por.Dante Amor
    Label4 = ""
    CommandButton1.Enabled = False
    If ComboBox1 = "" Or ComboBox2 = "" Then Exit Sub
    '
    Set h1 = Sheets("Hoja1")
    Set b = h1.Columns("B").Find(ComboBox1, lookat:=xlWhole)
    If Not b Is Nothing Then
        fila = b.Row
        Set b = h1.Rows(1).Find(ComboBox2, lookat:=xlWhole)
        If Not b Is Nothing Then
            Label4 = h1.Cells(fila, b.Column)
            If Label4 <> "GUARDADA" Then
                CommandButton1.Enabled = True
            End If
        End If
    End If
End Sub
'
Private Sub ComboBox2_Change()
'Por.Dante Amor
    ponerestatus
End Sub
'
Private Sub CommandButton1_Click()
'Por.Dante Amor
    Set h1 = Sheets("Hoja1")
    If ComboBox1 = "" Or ComboBox2 = "" Then
        MsgBox "Seleciona producto y mes"
        Exit Sub
    End If
    fila = ComboBox1.ListIndex + 2
    Columna = ComboBox2.ListIndex + 4
    h1.Cells(fila, Columna) = "GUARDADA"
    CommandButton1.Enabled = False
    Label4 = "GUARDADA"
    MsgBox "Estatus cambiado", vbInformation
End Sub
'
Private Sub CommandButton2_Click()
'Por.Dante Amor
    Unload Me
End Sub
'
Private Sub UserForm_Activate()
'Por.Dante Amor
    Set h1 = Sheets("Hoja1")
    For i = 2 To h1.Range("B" & Rows.Count).End(xlUp).Row
        ComboBox1.AddItem h1.Cells(i, "B")
    Next
    '
    For i = Columns("D").Column To h1.Cells(1, Columns.Count).End(xlToLeft).Column
        ComboBox2.AddItem h1.Cells(1, i)
    Next
    CommandButton1.Enabled = False
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas