Como eliminar la fila superior a la que contenga el valor "1"
publicado
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.
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