En este ejemplo se podrá observar una Macro de Excel que muestra Como Eliminar Filas Cuya Celda Coincida Con Criterio Exacto o que el Texto Este al Final de la Cadena de Caracteres; la macro evaluará la cadena de caracteres existente en una celda, si el texto de la celda coincide completamente con la palabra usada como criterio, elimina la fila completa, hará lo mismo, si la palabra que se usa como criterio se encuentra al final de la cadena de texto que está en la celda que se está analizando cada vez que el bucle recorre una celda.
En el siguiente playlist encontrarás una serie de vídeos relacionados con distintas formas de eliminar filas en base a criterio, sugiero ver las distintas variantes que existen, deja en los comentarios si requieres algún ejemplo que no se encuentre en dicho playlist.
Te recomiendo leer un excelente libro sobre Excel que te ayudará operar las planillas u hojas de cálculo, 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.
Formatos Fecha y Hora Excel Conectar Excel y Access Enviar Mail con Excel Seleccionar o Referencia en VBA Excel
Macro de Excel VBA Elimina Fila Completa que recorre el Bucle
La macro de Excel VBA elimina la fila completa en el caso de que el texto de la fila que recorre el bucle en cada momento y la columna C, coincida con la palabra «licor» sea que se de el caso que en la celda de al Columna C se encuentre la palabra «Licor» solamente o que la última palabra de la cadena de caracteres de la celda analizada sea «Licor», es decir que si encuentra la cadena de texto «Licor al Coñac», NO se eliminará la fila, porque la palabra «Licor» aparece en el primer lugar en la cadena de Texto, pero si en la cadena de caracteres de la celda estuviera el texto «Naranja de Licor», la fila SI se eliminará porque la palabra «Licor» aparece al final de la cadena de caracteres.
La macro es sencilla realiza un bucle entre la primer fila y la última fila con datos, recorre cada una de las filas analizando cual es la cadena de caracteres de la Columna C y fila correspondiente, si dicha cadena de caracteres es igual a «Licor» o Dicha palabra se encuentre al final de una cadena de caracteres que pueda contener la celda, la fila completa será eliminada.
⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛
Quizá sea de utilidad también
Como Llenar Combobox sin Duplicados o Datos Unicos
Cómo eliminar Última fila con Datos
La macro en primer lugar establece la última fila con datos, ello tendiente a determinar el rango donde se encuentran los datos y hasta donde se debe evaluar las filas, se utiliza:
uf = Range(«A» & Rows.Count).End(xlUp).Row
En la varialbe «stri» se carga la palabra que en este ejemplos se usará como criterio para evaluar si se elimina o no la fila:
stri = a.Cells(1, «H»)
Se realiza luego un bucle for … next desde la última fila hasta la primer fila, es recomendable cuando se eliminan filas, hacer que la macro elimine de abajo hacia arriaba, ya que de lo contrario se deberá apelar a más códigos, ya que cuando se elimina una fila se desplaza hacia arriba y por ende en bucle puede saltar esa fila y no eliminarla a pesar que coincida con el criterio para eliminar fila, se usa:
For x = uf To 2 Step -1
…
Next x
La macro no distingue mayúsculas ni minúsculas, cuando se empieza a recorrer fila por fila con el bucle, se debe ir evaluando si cumple o no con el criterio, es decir que la palabra «Licor» se encuentre ya sea en forma sola en la celda o sea parte de una cadena de texto que TERMINA con la palabra «Licor», a la vez que se va contando las filas eliminadas, el código es el siguiente:
If UCase(a.Cells(x, «C»)) Like «*» & UCase(stri) Then a.Cells(x, «A»).EntireRow.Delete: conta = conta + 1
Se puede descargar el ejemplo en forma Gratuita desde el final del post, a continuación se expone el código completo del ejemplo Como eliminar Filas en Base a Criterio que Coincida con el Criterio Exacto o la Palabra Buscada esté al FINAL de la Cadena de Texto.
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»)) 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
La macro en primer lugar establece la última fila con datos, ello tendiente a determinar el rango donde se encuentran los datos y hasta donde se debe evaluar las filas, se utiliza:
uf = Range(«A» & Rows.Count).End(xlUp).Row
En la varialbe «stri» se carga la palabra que en este ejemplos se usará como criterio para evaluar si se elimina o no la fila:
stri = a.Cells(1, «H»)
Se realiza luego un bucle for … next desde la última fila hasta la primer fila, es recomendable cuando se eliminan filas, hacer que la macro elimine de abajo hacia arriaba, ya que de lo contrario se deberá apelar a más códigos, ya que cuando se elimina una fila se desplaza hacia arriba y por ende en bucle puede saltar esa fila y no eliminarla a pesar que coincida con el criterio para eliminar fila, se usa:
For x = uf To 2 Step -1
La macro no distingue mayúsculas ni minúsculas, cuando se empieza a recorrer fila por fila con el bucle, se debe ir evaluando si cumple o no con el criterio, es decir que la palabra «Licor» se encuentre ya sea en forma sola en la celda o sea parte de una cadena de texto que TERMINA con la palabra «Licor», a la vez que se va contando las filas eliminadas, el código es el siguiente:
If UCase(a.Cells(x, «C»)) Like «*» & UCase(stri) Then a.Cells(x, «A»).EntireRow.Delete: conta = conta + 1
Se puede descargar el ejemplo en forma Gratuita desde el final del post, a continuación se expone el código completo del ejemplo Como eliminar Filas en Base a Criterio que Coincida con el Criterio Exacto o la Palabra Buscada esté al FINAL de la Cadena de Texto.
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»)) 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
⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛⇛
.
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
























