excel eliminar filas en algunos casos

¿Cómo puedo eliminar toda la fila de una hoja de Excel, si en la columna G tiene un número que comienza con 210?

No quiero eliminar la fila si la celda tiene 210 en algún lugar adentro, pero solo cuando empiece con ella.

Usa este código:

Sub RemoveRows() Dim i As Long i = 1 Do While i <= ThisWorkbook.ActiveSheet.Range("G1").CurrentRegion.Rows.Count If Left(ThisWorkbook.ActiveSheet.Range("G" & i).Formula, 3) = "210" Then ThisWorkbook.ActiveSheet.Cells(i, 1).EntireRow.Delete Else i = i + 1 End If Loop End Sub 

Archivo de muestra: https://www.dropbox.com/s/yp2cwphhhdn3l98/RemoweRows210.xlsm

Para verlo y ejecutar, presione ALTF11 , abra el Módulo1 y presione F5 . ¡Buena suerte!

En caso de que quiera hacerlo sin código, pero exclusivamente en la interfaz de usuario, así podrá hacerlo de manera bastante eficiente:

  1. Inserte una columna temporal (por ejemplo, a la derecha de la columna G) ( CtrlEspacio en cualquier celda en la columna H, Ctrl+ )
  2. Llene la columna con la fórmula =LEFT(TEXT(G1),3)="210" – esto devolverá TRUE para todas las filas que busque
  3. Aplicar un Autofilter a esa nueva columna o al range completo ( CtrlShiftL )
  4. Filtra esa columna para TRUE – de esta manera, solo quedan las filas que deseas eliminar
  5. Seleccione todas las filas y elimine ( CtrlA en cualquier celda de la tabla, MayúsculasEspacio , Ctrl- )
  6. Eliminar la columna temporal ( CtrlEspacio en cualquier celda en la columna H, Ctrl- )

¡Hecho!