Macro para eliminar un dato de un filtro de otra hoja

Hola Experto, soy nuevo en eso de las macros y necesito ayuda... Tengo una hoja de base de datos ("BD") y me gustaría poder eliminar un dato que se encuentre de la celda "C4" para abajo, siempre y cuando sea igual al dato que aparece en la celda "C9" de la hoja "Caja"... ¿Sera qué me puedas ayudar?

1 respuesta

Respuesta
1
Claro que te ayudo, solo aclarame y especifícame unos puntos
1. Lo que se va a comparar a partir de la celda C4 que me imagino es una base de datos siempre se va a comparar solamente con la celda C9 de la hoja caja, ahí no hay más datos, ¿solo contra esa celda (C9) se va a comparar?
2. ¿Se debe de eliminar toda la fila? O solo lo que hay en la columna C.
Si, unicamente con lo que la celda C9 indique es el filtro, y se debe eliminar solo lo de la columna C! Gracias de antemano!
Aquí te mando el código y espero sea lo que necesitas, lo que va a hacer es que va a tomar el valor de la celda C9 de la hoja "Caja" (por ahí te pongo unas notitas en donde puedes adaptar el nombre de las hojas si no coinciden con los nombres de tus hojas) y lo va a ir comparando con todo el listado de tu base de datos en base a la columna C, si es igual va a borrar lo que tiene y va a dejar la celda en blanco, (tu me dijiste que no se debía eliminar todo el renglón si no solo lo que hubiese en la columna C, por eso este código te dejará lo que hay en la celda C en blanco). Aquí tienes el código
Sub eliminar_val()
    Sheets("Caja").Select   'si tu hoja no se llama asi adaptala al nombre correcto
    Range("C9").Select
    valor = ActiveCell.Value
    Sheets("BD").Select    'si tu hoja no se llama asi adaptala al nombre correcto
    Range("C65536").End(xlUp).Offset(1, 0).Select
    ActiveCell.Value = "stop"
    Range("C4").Select
    Do While ActiveCell.Value <> "stop"
        If ActiveCell.Value = valor Then
            ActiveCell.Value = ""
        End If
        ActiveCell.Offset(1, 0).Select
    Loop
    ActiveCell.Value = ""
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas