Saltar al contenido
macrosenexcel.com

Como Eliminar Filas que Coincidan con Criterio Exacto y al Medio del Texto #465

En este ejemplo se podrá observar una Macro de Excel que muestra Como Eliminar Filas Excel Cuya Celda Coincida Con Criterio Exacto o que el Texto Esté al Final de la Cadena de Caracteres.

La macro de Excel muestra como Eliminar filas en Excel que cumplen con determinado criterio, para ello evaluará la cadena de caracteres existente una celda, si el texto de la celda es igual a la palabra usada como criterio, elimina la fila de Excel en forma completa, la macro de Excel hará lo mismo si la palabra que se usa como criterio se encuentra al medio de la cadena de texto que está en la celda que se recorre en ese momento.

Todo lo publicado en nuestro canal de YouTube relacionado con macros para eliminar filas de excel lo encontrarás en el siguiente playlist encontrarás, recuerda suscribir y activar la campana para que YouTube te avise de nuevo contenido, 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, te lo recomiendo no te arrepentirás.

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

Como eliminar filas de Excel en base a criterio realizando un bucle

Para eliminar filas de Excel en base a criterio se debe realizar un bucle para recorrer filas desde la última fila con datos hasta la primer fila, evaluando cual es la palabra cadena de caracteres o string que existe en cada celda, si coincide la palabra usada como criterio, la macro de Excel VBA eliminará la fila entera.

 

Primero se determina la última fila con datos en Excel para recorrer las filas de hoja, se recorren las filas de Excel de abajo hacia arriba, se usa el siguiente código:

 

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

 

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

Quizá sea de utilidad también


Como enviar copiar un Gráfico de Excel A Word


Como Abrir un Formulario Desde un Listbox

Como Enviar Whatsapp desde Excel

Cómo quitar filas de Excel que coincidan con Palabras Exactas

Seguidamente se carga en la variable “stri” cual es la palabra que se debe buscar para eliminar la fila, que en este caso se llama “Licor” y se encuentra en la celda H1, posteriormente se inicial el bucle, se usan los siguientes códigos:

stri = a.Cells(1, “H”)

For x = uf To 2 Step -1

El código que verifica si la celda coincide con el criterio en base al cual se eliminará la fila de Excel es el siguiente:

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

Si se analiza el código anterior se convier a mayúscula el texto de la celda de la columna C y fila que recorre el bucle en cada momento, se compara con una concatenación de string o texto, que traducido significa que si el texto de la celda coincide con la palabra usada como criterio en forma exacta o que dicha palabra se encuentre al medio de una cadena de caracteres, la fila se eliminará.

Para que resulte más claro supongamos que en las celdas de la columna C (usada en el ejemplo) se encuentra alguna de las siguientes palabras:

“Licor”
“Extracto de Licor Blanco”
“Licor Blanco”
“Blanco Licor”

 La macro procederá a eliminar filas de Excel cuya celda coincidan con la palabra EXACTA, es decir eliminará cuyas celdas posean la palabra “Licor”, eliminará las celdas cuya palabra se encuentre al medio de una cadena de texto o string es decir la fila que contenga “Extracto de Licor Blanco”, porque la palabra licor está al medio, no eliminará celdas que contengan la palabra “Licor Blanco” ni “Blanco Licor” porque la palabra “Licor” está al principio y final respectivamente del texto contenido en la celda, para ver las distintas variantes mira el siguiente paylist.

Desde el link del final se descarga el ejemplo Como Eliminar Filas de Excel Iguales a un Criterio y Cuyo Criterio Está al FINAL de la Cadena de Texto o String.

Código que se inserta en un módulo

‘**************https://macrosenexcel.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”)) = UCase(stri) Or 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      

Donate:
Paypal: https://paypal.me/programarexcel
Bitcoin: 1KBGGb8fyDzyR3X1Rie6m7VguzaAfngNbd
Ether: 0x41Bbd24556914C83a31217eBb3BC49789b66e407

Summary
Author Rating
Aggregate Rating
no rating based on 0 votes