Saltar al contenido

Como eliminar la fila superior a la que contenga el valor "1"


santravis

Recommended Posts

Hola, 

Estoy realizando unas mejoras y necesitaría vuestra ayuda.

Tengo esta macro;

Sub Eliminar_Filas()

Sheets("DATOS").Select      'nombre de la hoja con la información
col = "E"                   'columna para aplicar la condición

'texto de la condición
'Para una fecha: "10/07/2017" el formato debe ser dd/mm/aaaa
'Para un número: "123"

texto = "1"    '
valor = texto

	If IsNumeric(texto) Then valor = Val(texto)
	If IsDate(texto) Then valor = CDate(texto)    '
		Application.ScreenUpdating = False
	For i = Range(col & Rows.Count).End(xlUp).Row To 1 Step -1

	If LCase(Cells(i, "E")) = LCase(valor) Then
	Rows(i).Delete
	End If

Next

	Application.ScreenUpdating = True
	MsgBox "Filas eliminadas", vbInformation, "¡¡¡ AVISO !!!"

End Sub

Tal cual esta, me borra la fila en la cual se encuentra el valor i ( i = " 1 ").

Y lo que quiero conseguir es que elimine la fila superior de la condición.


Es decir si en la E5 se encuentra el valor "1" entonces elimine la Fila 4.

Si hay varias celdas de la columna E que contengan el valor "1" al pulsar el botón salga el msgbox indicando cuantas filas se han eliminado.

 

Si no hay ningún valor "1" en la columna E el msgbox indique que no se han encontrado errores en la hoja.

 

Un saludo,

LEER TOTALES OK1 (1).xlsm

Enlace a comentario
Compartir con otras webs

  • Silvia bloqueó este tema

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.