Eliminar filas condicionalmente (Microsoft Excel)
Cuando trabaja con tablas de datos que contienen información que recibió de otra persona, es posible que desee eliminar la cantidad de datos en la tabla eliminando filas si se cumple una condición particular. Hay varias formas de abordar tal tarea.
El primer método es utilizar la función Autofiltro de Excel. Esto funciona particularmente bien si tiene un criterio bastante simple por el cual eliminar filas. Cuando activa el Autofiltro, Excel coloca botones desplegables en el lado derecho de cada celda en la fila del encabezado de la tabla de datos.
Con estos botones desplegables puede especificar los registros que desea que se muestren. Debe seleccionar un valor de filtro que resultará en mostrar solo las filas que desea eliminar. Con esas filas mostradas, puede seleccionarlas y usar las herramientas de la cinta para deshacerse de las filas. Cuando desactiva Autofiltro, se queda solo con las filas que desea.
Otro método implica el uso de macros para realizar la eliminación por usted.
Este enfoque funciona bien si tiene que realizar las eliminaciones de muchos datos o si lo hace con bastante frecuencia. La siguiente macro puede eliminar filas según un valor clave:
Sub DeleteRows() Dim strToDelete As String Dim rngSrc As Range Dim NumRows As Integer Dim ThisRow As Integer Dim ThatRow As Integer Dim ThisCol As Integer Dim J As Integer Dim DeletedRows As Integer strToDelete = InputBox("Value to Trigger Delete?", "Delete Rows") Set rngSrc = ActiveSheet.Range(ActiveWindow.Selection.Address) NumRows = rngSrc.Rows.Count ThisRow = rngSrc.Row ThatRow = ThisRow + NumRows - 1 ThisCol = rngSrc.Column For J = ThatRow To ThisRow Step -1 If Cells(J, ThisCol) = strToDelete Then Rows(J).Select Selection.Delete Shift:=xlUp DeletedRows = DeletedRows + 1 End If Next J MsgBox "Number of deleted rows: " & DeletedRows End Sub
Para usar la macro, seleccione el rango del rango clave que cubre las filas que desea verificar. Por ejemplo, si la clave que se va a verificar está en la columna G y desea verificar las filas 5 a la 73, entonces seleccionaría el rango G5: G73. Cuando ejecuta la macro, le pregunta qué valor debe verificar. Si alguna celda en el rango G5: G73 contiene el valor que especifica, se eliminará la fila correspondiente a esa celda.
Obviamente, hay otras formas de eliminar filas según un valor. Para una buena selección de diferentes métodos, eche un vistazo a esta página de Dave Hawley en Ozgrid:
http://www.ozgrid.com/VBA/VBACode.htm
_Nota: _
Si desea saber cómo usar las macros descritas en esta página (o en cualquier otra página de los sitios ExcelTips), he preparado una página especial que incluye información útil.
link: / excelribbon-ExcelTipsMacros [Haga clic aquí para abrir esa página especial en una nueva pestaña del navegador]
.
ExcelTips es su fuente de formación rentable en Microsoft Excel.
Este consejo (12256) se aplica a Microsoft Excel 2007, 2010, 2013 y 2016.
Puede encontrar una versión de este consejo para la interfaz de menú anterior de Excel aquí:
link: / excel-Conditionally_Deleting_Rows [Eliminando filas condicionalmente]
.