Código de Visual Basic para Aplicaciones - Eliminar filas segun valor de celda

<<>>
Imágen de perfil
Val: 50
Ha aumentado su posición en 11 puestos en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

Eliminar filas segun valor de celdagráfica de visualizaciones


Visual Basic para Aplicaciones

Publicado el 12 de Agosto del 2019 por Hector Madriz
210 visualizaciones desde el 12 de Agosto del 2019
Eliminar filas según valor de celda:
Celdas vacías
Celdas con valor (= <> <= >= < >) ValorCel
Celdas que contienen error #N/A, #¡DIV/0!, #¡REF!, etc

1.0

Publicado el 12 de Agosto del 2019gráfica de visualizaciones de la versión: 1.0
210 visualizaciones desde el 12 de Agosto del 2019
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

Podría utilizar Len() o WorksheetFunction.CountA() para evaluar si la celda esta vacía sin embargo ambas consideran los espacios en blancos (" ") como contenido por lo cual sus resultados podrían considerarse imprecisos para este fin.

Por Ejemplo:

ValorCel=” ”
Len(ValorCel) la longitud seria 4 por cual no se considera vacío
WorksheetFunction.CountA(ValorCel) retorna 1 por cual no se considera vacío

Por el contrario:
Trim(ValorCel) la longitud es 0 por lo cual se considera vacío
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Sub EliminarFilas_ValorCel() 'Eliminar las filas donde la celdaX es igual a ValorCel (= <>)
    ColumCel = 1: ValorCel = ""
    For FilaCel = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row To 1 Step -1 ' Desde la ultima fila hasta la Fila 1
        If Not IsError(Cells(FilaCel, ColumCel).Value) Then _
           If Trim(Cells(FilaCel, ColumCel).Value) = Trim(ValorCel) Then Rows(FilaCel).Delete
    Next
End Sub
 
Sub EliminarFilas_ValorCelN()  'Eliminar las filas donde la celdaX es mayor o igual a ValorCel (>= <= > <)
    ColumCel = 1: ValorCel = 4 ' ValorCel debe ser numerico
    For FilaCel = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row To 1 Step -1 ' Desde la ultima fila hasta la Fila 1
        If Not IsError(Cells(FilaCel, ColumCel).Value) Then _
           If IsNumeric(Cells(FilaCel, ColumCel).Value) And Cells(FilaCel, ColumCel).Value >= ValorCel Then Rows(FilaCel).Delete
    Next
End Sub
 
Sub EliminarFilas_ErrCell() 'Eliminar las filas donde la celdaX contiene un error  #N/A, #¡DIV/0!, #¡REF!, etc
    ColumCel = 1
    For FilaCel = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row To 1 Step -1 ' Desde la ultima fila hasta la Fila 1
        If IsError(Cells(FilaCel, ColumCel).Value) Then Rows(FilaCel).Delete
    Next
End Sub



Comentarios sobre la versión: 1.0 (0)


No hay comentarios
 

Comentar la versión: 1.0

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s5471
Revisar política de publicidad