PROGRAMAR EN VBA MACROS DE EXCEL: Como Eliminar Filas Coincidan con Criterio Exacto y Principio Medio Final o Parte de Una Palabra

Como Eliminar Filas Coincidan con Criterio Exacto y Principio Medio Final o Parte de Una Palabra







Eliminar Filas Excel Con CriterioEsta Macro de Excel que Muestra Como Eliminar Filas Cuya Celda Coincida Con Criterio Exacto o el Texto Este al Principio Medio Final o Sea Parte de una Cadena de Caracteres.

La macro verifica la cadena de caracteres existente en una celda, si el texto de la celda coincide completamente con la palabra usada como criterio,  la palabra se encuentre al Principio, Medio, Final o sea parte de la cadena de caracteres que está en la celda que se evalúa, eliminará la fila completa.

Encuentra más macros de excel relacionadas con eliminar filas en base a criterio en el siguiente playlist encontrarás, suscribe al canal para que YouTube avise de nuevo contenido.

Si requieres operar las planillas u hojas de cálculo en forma efeicaz, haz click acá, si quieres aprender sobre Excel, en inglés, entonces debes hacer click here. Si lo que necesitas es aprender o profundizar sobre la programación de macros con VBA este es unos de los mejores cursos on line que he visto en internet.

  

Suscribe a nuestro canal y activa la campana para que YouTube te avise cuando se suba nuevo contenido al canal, en el vídeo verás la macro en acción, encontrarás una explicación gráfica y detallada del ejemplo que se muestra en este post.









 
 



El ejemplo de macro permite buscar una palabra, que será el criterio en el que se basa la macro para eliminar filas de Excel, en una columna, si la macro encuentre en la cadena de caracteres existente en la celda un texto igual al criterio eliminará la fila completa, la eliminación de la filas se realizará sea que la celda coincida en forma exacta con el criterio, que el criterio se encuentre al principio, medio, final o sea parte de la cadena de caracteres que está en la celda.

En este ejemplo de macro de excel para eliminar filas que coincidan con una palabra, se realiza un bucle entre la primer fila y la última fila con datos recorriendo o evaluando los datos contenidos en la columna C, que es donde está la descripción de los artículos, que se usan en este ejemplo; en la celda H1 se encuentra el criterio o palabra cuya fila coincidente se debe eliminar la fila de excel.

El bucle se realiza desde la última fila con datos hasta la primer fila, esto facilita el proceso de eliminar filas al tener que escribir menos código de VBA, los códigos son los siguiente:

uf = Range("A" & Rows.Count).End(xlUp).Row   'Determina última fila con datos

stri = a.Cells(1, "H") 'Carga en la variable la palabra que se debe buscar

For x = uf To 2 Step -1  'Inicia bucle entre la última y primer fila


⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛
Quizá sea de utilidad también

Como Exportar de Excel a un Archivo TXT


Como Abrir un Formulario Desde un Listbox

Como Recorrer Filas y Copiar Datos en Base a Criterios

El código que se usa para evaluar la coincidencia de la palabra criterio con el contenido de la celda es el siguiente:

If UCase(a.Cells(x, "C")) Like "*" & UCase(stri) & "*" Then a.Cells(x, "A").EntireRow.Delete: conta = conta + 1


En el código de VBA para eliminar filas se observa que se cambia a mayúscula el contenido de la celda para evitar inconvenientes si la palabra tuviese una palabra en mayúscula y otra minúscula, luego se utiliza la expresión LIKE que sirve para establecer la coincidencia con una cadena de caracteres, se usa con los comodines "*" que expresan o significa "cualquier carácter delante o después de la palabra usada como criterio.

En otras palabras el código establece que si la palabra existente en la celda evaluada es igual al cualquier carácter DELANTE de la palabra "Licor" (usada en el ejemplo), o cualquier palabra DESPUÉS, o cualquier palabra que se encuentre el MEDIO o cualquier palabra donde "Licor" SEA PARTE; eliminará la fila completa.

Se recomienda descargar el ejemplo Como Eliminar Filas En Base a Criterio Cuyo Texto Sea Exacto se Encuentre al Principio Medio Final o Sea Componente de una Palabra, a continuación el código completo y al final se encuentra el link de descarga.


Código que se inserta en un módulo

'**************https://programarexcel.com  **** https://youtube.com/programarexcel*********

Sub EliminaFila()

Dim Tex As Variant, Car As Variant, Lar As Integer

Application.ScreenUpdating = False

On Error Resume Next

Set a = Sheets("Hoja1")

uf = Range("A" & Rows.Count).End(xlUp).Row

stri = a.Cells(1, "H")

For x = uf To 2 Step -1

If UCase(a.Cells(x, "C")) Like "*" & UCase(stri) & "*" Then a.Cells(x, "A").EntireRow.Delete: conta = conta + 1

Next x

MsgBox ("Se eliminaron " & conta & " registros"), vbInformation, "AVISO"

Application.ScreenUpdating = True

End Sub


Sub DeNuevo()

Set a = Sheets("Hoja1")

uf = Range("A" & Rows.Count).End(xlUp).Row

a.Range("A1:G" & uf).Clear

Sheets("Hoja2").Range("A:G").Copy Destination:=a.Range("A1")

MsgBox ("Se copio la base de datos nuevamente"), vbInformation, "AVISO"

End Sub

⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛


Si te fue de utilidad puedes INVITARME UN CAFÉ y de esta manera ayudar a seguir manteniendo la página, CLICK para descargar en ejemplo en forma gratuita.


If this post was helpful INVITE ME A COFFEE and so help keep up the page, CLICK to download free example.


Si te gustó por favor compártelo con tus amigos
If you liked please share it with your friends      
4.70/5 – 1379