Macro VBA eliminar filas según combo box

Nuevamente solicito su ayuda debido a que tengo un formulario y quiero eliminar una fila según el valor de un combo box pero me sale error

Este es el formulario acá busco el producto y le doy click en eliminar pero me indica error que el comando no es valido te adjunto el código que estoy usando

    For i = 1 To Range("c" & Rows.Count).End(xlUp).Row
        If Cells(i, "c") = ComboBox1.Text Then
            If MsgBox("Desea Eliminar el orducto seleccionado", _
                vbQuestion + vbYesNo) = vbYes Then
                'EntireRow.Delete
                Rows(i).Delete
            Else
                ComboBox1.Text = ""
                Exit Sub
            End If
        End If
    Next
    

1 respuesta

Respuesta
2

¿Qué mensaje te aparece?

¿Si le das depurar en qué línea de la macro se detiene?

¿Esta es otra macro a la que ten envié?

El mensaje quieres que te aparezca cada vez que vaya a borrar un registro, es decir, ¿si tienes 5 registros que se van a borrar quieres que tea aparezca 5 veces el mensaje?

hola

si es la macro que me enviaste pero la estoy utilizando para otro función muy diferente a lo solicitado en la pregunta anterior que funciona perfectamente

la quiero utilizar nuevamente para eliminar un producto que por error ingrese y lo quiero borrar me funciona hasta la búsqueda y en la línea "Rows(i).Delete" me aparece el error que no reconoce la función delete o el código para esta ejecución no es el adecuado

slds.

Robert

Puedes enviarme tu archivo y me explicas cuál macro tengo que ejecutar

Recuerda poner tu nombre de usuario en el asunto del correo

Lo que pasa es que tienes la hoja protegida, por eso no te permite borrar.

Lo que tienes que hacer es desproteger la hoja, borrar y volver a proteger.

Te anexo la macro actualizada

Private Sub CommandButton1_Click()
    For i = Range("c" & Rows.Count).End(xlUp).Row To 9 Step -1
        If Cells(i, "c") = ComboBox1.Text Then
            If MsgBox("Desea Eliminar el orducto seleccionado", _
                vbQuestion + vbYesNo) = vbYes Then
                ActiveSheet.Unprotect
                Rows(i).Delete
                ActiveSheet.Protect
            Else
                ComboBox1.Text = ""
                Exit Sub
            End If
        End If
    Next
End Sub

S a l u d o s . D a n t e   A m o r

Recuerda valorar la respuesta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas