PROGRAMAR EN VBA MACROS DE EXCEL: Eliminar Filas de Excel en Base a Criterios
Mostrando las entradas con la etiqueta Eliminar Filas de Excel en Base a Criterios. Mostrar todas las entradas
Mostrando las entradas con la etiqueta Eliminar Filas de Excel en Base a Criterios. Mostrar todas las entradas

474 Como Eliminar Filas EN BLANCO Excel 2019






Como Eliminar Filas en Blanco en Excel


Eliminar Filas en Blanco ExcelEn este post se muestra Como Eliminar Filas Vacías en Excel con Criterio, es decir que en este caso el criterio para suprimir filas en Excel es que la fila  de Excel se encuentre sin datos o vacías.

Si estás interesado en aprender más sobre como eliminar filas en Excel con Macro te invito a ver el siguiente playlist con varias macros que tratan el tema de Quitar Filas en Blanco en Excel.

Quieres operar Excel en forma eficiente 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.

   

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







En que consiste el ejemplo Como Eliminar Filas en Blanco en Excel

Desde el Link del final se puede descargar el Libro Excel utilizado como ejemplo en este post, en forma gratis, una vez que se abre el Libro de Excel, se podrá observar dos botones, uno que dice "Eliminar Fila" que es el que ejecuta la macro de este ejemplo y otro Botón que dice "Ejecutar Nuevamente", este botón sirve únicamente para copiar la base de datos originar que está en la Hoja2, en la Hoja1, y así poder ejecutar la macro una y otra vez hasta entender su funcionamiento si es que se requiere.

La macro realiza un bucle entre la primer y última fila con datos, determinando si la celda  de una columna analizada y la fila que recorre el bucle en ese momento, se encuentre vacía, en ese caso elimina la fila Excel completa y está en blanco, realiza el mismo procedimiento con todas la filas del rango establecido entre la primer y última fila con datos.

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

Como Eliminar Datos Duplicados en Excel


Como Eliminar Filas que coincidan con una Palabra



Código VBA para Quitar o Suprimir Filas Vacías en Excel


La macro crea un objeto con la Hoja1 que es donde está la base de datos para eliminar las filas vacías.

Set a = Sheets("Hoja1")

Posteriormente establece cual es la última celda con datos para armar el rango entre la primer y última celda del rango de datos, que es donde está la base de datos a analizar.

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

Luego se realiza un bucle que va desde la última fila hasta la primer fila con datos, esto se hace a los fines practicos, es decir se está recorriendo y eliminando las filas Excel que coincidan con el criterio para eliminar desde abajo hacia arriba. 

For x = uf To 2 Step -1


Por último se evalúa el dato que contiene la celda que recorre el bucle en cada momento, verificando si es una celda vacía, en ese caso elimina toda la fila en blanco en Excel, para ello se usa el siguiente código.

If a.Cells(x, "A") = Empty Then a.Cells(x, "A").EntireRow.Delete: conta = conta + 1


A continuación se encuentra el código VBA de la Macro que permite Eliminar Filas en Excel, seguidamente y antes de finalizar el post se encuentre el Link para descargar el archivo Excel de Ejemplo de Macro utilizado.

Código que se inserta en un módulo

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

Sub EliminaFila()

Application.ScreenUpdating = False

On Error Resume Next

Set a = Sheets("Hoja1")

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

For x = uf To 2 Step -1

If a.Cells(x, "A") = Empty 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.



Como Eliminar Filas Excel en Base a Color de Celda








Como Eliminar Filas en Base a Criterios

En este ejemplo se muestra Como Eliminar Filas de Exel en Base al Color de Celda con macro de Excel VBA, en otras palabras la Macro podrá Quitar las Filas de Excel que coincidan con un Determinado Color usado como criterio.


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 eficaz, 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.









 



En que consiste el ejemplo Como Eliminar Filas en Base a Color de Celda


El ejemplo es bastante sencillo, consiste en recorrer las filas de Excel desde la primer a la última fila con datos de una columna determinada, verificando si la celda correspondiente es igual al color elegido como criterio para eliminar filas de excel, en caso verdadero elimina la fila completa.

En este ejemplo el color se toma de la celda H1, es decir eliminará todas las celdas que sean iguales al color de la celda mencionada, en este caso amarillo, también se puede escribir en una variable el código del color, o si no se sabe el código del color se puede poner una celda con el color deseado y ejecutar el siguiente:

colo = a.Cells(1, "H").Interior.Color

El código anterior permite determinar o saber cual es el color o código de la paleta de colores, como sucede en el caso del ejemplo que se presenta el color de la celda se determina y carga en una variable, pero si conocemos el código del color se puede usar directamente sin determinarlo mediante código de VBA.

Cual es la Codificación que permite Eliminar Filas en Base a Color de Celda


En primer se determina cual es la última fila con datos, esto se hace a través del siguiente código

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


Luego se realiza un bucle entre al última fila con datos y la primer fila, es decir se viene eliminando las filas coincidente con el criterio de eliminación desde abajo hacia arriba, esto tiene una ventaja, ya que si el bucle se hace de arriba hacia abajo, es decir las filas se recorren de la menor a la mayor, puede provocar errores ya que al eliminar una fila todas se desplazan hacia arriba y el bucle saltaría o no verificaría la fila que se desplazó hacia arriba y en el caso que también coincidiera con el criterio de eliminación, no se eliminaría, porque se desplazó hacia arriba y el bucle ya recorrió esa fila, provocando que no se elimine la fila a pesar de coincidir con el criterio de búsqueda, este se puede salvar, pero se tiene que agregar más código, lo cual se soluciona fácilmente recorriendo las filas de abajo hacia arriba, se usa el siguiente código.

For x = uf To 2 Step -1

Step -1 es lo que permite al bucle recorrer las filas de Excel desde abajo hacia arriba,

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

Como Eliminar Duplicados en Excel con Varios Criterios


Como Abrir un Formulario Desde un Listbox

Como Eliminar Filas cuyo Criterio se Encuentre en Cualquier Parte de la Cadena de Texto

Para determinar si una fila de debe eliminar se debe recurrir a "If", que permite comparar el color de la celda que recorre en cada momento el bucle con el color de la celda H1 en este caso o el color que indiquemos en la variable "colo".

If a.Cells(x, "A").Interior.Color = colo Then a.Cells(x, "A").EntireRow.Delete: conta = conta + 1

Para eliminar una fila entera se usa el siguiente código, que es el que se aplica cuando la fila analizada se corresponde o es igual al color establecido como criterio para eliminar filas

a.Cells(x, "A").EntireRow.Delete


Como Eliminar Filas En Base a Color de Celda, es el nombre del ejemplo cuyo archivo usado se puede descargar desde el post del final, seguidamente  el código completo del ejemplo.


Código que se inserta en un módulo

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

Sub EliminaFila()

Application.ScreenUpdating = False

On Error Resume Next

Set a = Sheets("Hoja1")

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

colo = a.Cells(1, "H").Interior.Color

For x = uf To 2 Step -1

If a.Cells(x, "A").Interior.Color = colo 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      

Como Eliminar Datos Duplicados Criterio en Dos Columnas





Eliminar datos duplicados en Excel en base a varios criterios

Eliminar Datos Duplicados en ExcelEn el post veremos como Eliminar Datos Duplicados en Excel Dependiendo de Varios Criterios, la macro recorrerá todas las filas de Excel quitando los registros duplicados, utilizando varios criterios para determinar que filas se deberán eliminar.

Existen varios ejemplos con distintas variantes destinadas a Eliminar Filas en Excel, el siguiente playlist los muestra.

Si requieres aprender a 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.

  

Suscribe a nuestro canal  y activa la campañita para que YouTube te avise cuando se suba nuevo contenido al canal, en el vídeo siguiente encontrarás una explicación gráfica y detallada del ejemplo que se muestra en este post como así también otros vídeos que pueden se de tu interes.







 


Criterio para considerar un registro duplicado en Excel

Para establecer si un registro está duplicado o no se establecer cual será el criterio de duplicidad, es decir en que columna se debe analizar para establecer si un registro está duplicado, por ejemplo puede que en la columna A se encuentre el Apellido y en la B el Nombre, se pueden dar las siguientes situaciones:

En primer lugar es posible que se considere un registro duplicado si algún dato de la columna A (Apellido) sea igual o otro de la misma Columna A.

También se puede dar en segundo lugar que para considerar que un registro está duplicado, se deba considerar que tiene que darse en forma conjunta que la Columna A (Apellido) y la Columna B (Nombre) deben ser iguales para considerar un registro duplicado, es decir el criterio de duplicidad establece que el dato de una fila determinada tanto en la columna A como en la B deben ser iguales para considerarlo registro duplicado.

En este ejemplo se muestra como eliminar datos duplicados de Excel al evaluar dos columnas, puede evaluarse más columnas para determinar si un registro está duplicado, pero el ejemplo solo toma dos, tres o cuatro o más solo se debe hacer una pequeña modificación.

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

Como Recorrer Comparar y Colorear Filas


Como Recorrer Filas e Insertar Imágenes en Celdas

Como Dar Formato a Celdas Filas y Columnas


Como funciona la macro para quitar datos duplicados en Excel

La macro en primer lugar determina cual es la última fila con datos, para luego realizar un bucle entre la primer fila y la última con datos, esto se realiza con el siguiente código:

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

Luego la macro ejecuta el siguiente código que es lo que permite eliminar filas duplicadas en Excel en base a criterios:

a.Range("A1:G" & uf).RemoveDuplicates Columns:=Array(2, 4), Header:=xlYes

Analizando el código anterior se observa que para establecer el rango que se debe analizar o donde se debe eliminar datos duplicados en las filas de Excel, se realiza con el siguiente código:

 Range("A1:G" & uf)

Para Quitar los Datos Duplicados de Excel y establecer que columnas contienen los datos que se deben evaluar se utiliza el siguiente código, el cual establece que evalua la columna 2 y 4, es decir la columna B y D; si quisieramos evaluar más columnas se debe agregar en el Array la columna a evaluar:

RemoveDuplicates Columns:=Array(2, 4)


También se debe indicar si el rango indicado contiene o no encabezado, esto es para que la primer fila NO se evalue si contiene encabezado o titulos de columna o se evalue si no los contiene.

El código completo del ejemplo Como Eliminar Datos Duplicados en Excel En Base a Criterios se muestra a continuación y seguidamente el link de descarga.


Código que se inserta en un módulo

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

Sub EliminaDuplicado()

Application.ScreenUpdating = False

On Error Resume Next

Set a = Sheets("Hoja1")

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

a.Range("A1:G" & uf).RemoveDuplicates Columns:=Array(2, 4), Header:=xlYes

MsgBox ("Los registros duplicados se eliminaron con éxito"), 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      

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      

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






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.

  

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.









 
  



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

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://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")) = 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      

Como Eliminar Filas que Coincidan con Criterio Exacto y al Final del Texto






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.

  

Suscribe a nuestro canal 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.









 



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


Como Abrir un Formulario Desde un Listbox

Como recorrer una cadena de caracteres

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://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