Macro que borre los datos de dos columnas si el valor en formato fecha es mayor

Se trata de insertar una fecha en una celda F4 y compararla con la que está en B4, si la fecha introducida en F4 es mayor a la que hay en B4 debe borrar el dato de B4 y de la celda C4.

Ejemplo:

Si en B4 tengo el valor 22/07/17 y en F4 tengo el valor 20/06/17, no debe de hacer nada, pues el valor que hay en B4 es mayor que el valor de F4.

Por el contrario, si en B4 tengo 15/05/17 y en F4 30/07/17, si deberían borrarse los datos de B4 y C4.

Esto debe hacerse al introducir la fecha en la casilla F4.

Tiene que hacer esto en todas las celdas de la columna F.

1 respuesta

Respuesta
1

A ver si te sirve esto:

------------------------

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Fila As Integer
If Target.Column = 6 Then
    Fila = Target.Row
    If Cells(Fila, 6) > Cells(Fila, 2) Then
        Cells(Fila, 2) = ""
        Cells(Fila, 3) = ""
    End If
End If
End Sub

------------------------

¡Gracias! 

Lo he probado pero no me sirve, no hace lo que yo deseo, que es que al introducir una fecha en F4, F5, F6..... compruebe que la fecha introducida es mayor que la que hay respectivamente en B4, B5, B6, ...... y si es mayor que borre los datos que hay en B4, B5.... y los que hay en C4, C5...

Saludos

El código que te he dado se activa cuando la columna en la que se introducen datos es la 6ª, es decir, la F. Si es así compara la fecha introducida en la celda de la fila activa (fila, F) con la de la (fila, B) y de ser mayor aquella, la de la columna F, borra los datos de las celdas (fila, B) y (fila, C). Puedo enviarte un ejemplo si lo deseas. Evidentemente solo funcionará cuando haya fechas en las dos celdas, las de la columna B y F. O tal vez no esté entendiendo tu necesidad.
¿Has insertado ese código en el VBA de tu libro?

He puesto el código que me comentabas en uno de los módulos que tengo para la hoja de excel, pero no hace nada, lo he probado varias veces, pero nada de nada.

Si, que has entendido lo que deseo hacer, si hay dos fechas las compara, pero si la de B es mayor que F, no hace nada, pero sí al revés.

Saludos

Perdona, antes te indiqué que lo había puesto en uno de los módulos, pero no me había fijado que viene como Worksheet.

Al colocar el código en la hoja, me da error, borra lo que hay en la celda B, pero al ir a borrar en la celda C, da ese error.

Saludos.

Pues igual que borra el contenido de la celda de la segunda columna debe borrar el de la tercera.

¿Puedo ver un ejemplo de tu archivo para averiguar dónde y por qué da ese error?

Ya entiendo porque da el error, en la celdas C, hay un userform que te ayuda a buscar el nombre de personas, por lo que debe de dar ese error.

Lo digo porque he cambiado para que borre solamente las celdas B, y funciona correctamente.

Reitero mi gratitud, pues lo quería hacer de otra forma y me estaba dando más problemas.

Saludos

¿Sabrías decirme, por favor, si se podría hacer de otro modo?

Me refiero, a si podría borrarse el dato de la columna C, cuando se borra el dato de la columna b, teniendo en cuenta, que en C, hay entrada de un Userform.

Gracias y un saludo.

Opa drino, sin ver cómo y desde dónde llegan los datos a esa columna es complicado poder encontrar la solución. Si quieres hacerme llegar un ejemplo de tu libro te dejaré mi email.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas