Como eliminar filas vacías con VBA en Excel - Capítulo 254
HTML-код
- Опубликовано: 10 фев 2025
- Tutorial de Excel: Hacer una macro que elimine todas las filas vacías no es muy complicado. No te pierdas este tutorial sencillo y corto sobre como hacer tu propia macro.
👍 ¿Te ha sido útil el vídeo? Si es así y quieres invitame a un ☕ puedes hacerlo con un super thanks haciendo click en "Gracias" 😊!
🔔 Suscríbete al canal ➡ www.youtube.com...
🎓 Tampoco te pierdas el curso de Excel 100% gratuito y con mas de 300 vídeos disponibles para que aprendas Excel fácil y rápidamente, bajo estas líneas el enlace a cada nivel de Excel:
✅ Curso de Excel Básico ➡ • Curso de Excel básico
✅ Curso de Excel Intermedio ➡ • Curso de Excel intermedio
✅ Curso de Excel Avanzado ➡ • Curso de Excel avanzado
📢 Tienes redes sociales?
➡ Sigueme en Twitter / josematube
➡ Sigueme en Facebook / josematube
#excel #cursoexcel #josematube
Muy agradecido Saludos desde Perú
Perfecto! Muchísimas gracias. Muy útil. Gracias again.
Muchas gracias José por esta gran explicación. Saludos desde Chile.
Justo lo que necesitaba! Fácil y excelente explicación, mil gracias.
Justo lo que me faltaba en mi base de datos. Gracias!!
me haz salvado la vida haha gracias :)
Excelente video saludos desde medellin Colombia
SOIS UNOS CRACKS, MUCHAS GRACIAS POR ESTOS VIDEOS
Eres un genio! muchas gracias me es de mucha utilidad
saludos
Hola Claudio, me alegra que te haya sido de utilidad.
Un saludo.
Josema.
Así es Josema, gracias e igualmente un saludo.
No sé si lo acabo de descubrir de mi afán por hacer una macro eficiente pero me ha resultado, pero aquí va mi opción:
Range("Nombre de la tabla[columna deseada]").select
Selection.SpecialCells(xlCellTypeBlanks).Select
Selection.EntireRow.Delete
Antes que nada los datos deben de estar en una tabla
Lo que hace es seleccionar los campos vacíos de una columna y una vez seleccionados borra las filas.
Muy fácil y no necesita un ciclo. 😋
GRacias Pepe por tu contribución. Muy interesante :). Un saludo.Josematube
Hola, una consulta en caso de querer realizar lo mismo pero en otra hoja sin necesidad de tenerla activa ¿Cómo se realizaría?
en mi caso intente con : sheets("nombre de la hoja").Range("Nombre de la tabla[columna deseada]").Select
pero no he tenido éxito :(
Saludos.
@@nicolasreyes3142 muévete de hoja en hoja con Hoja1.select ó si lo tienes en inglés sheet1.select pones el código que dejé anteriormente y vualá...
Nota los números varían teneís que fijaros el nombre correspondiente a la Hoja que se asigna por defecto por VBA en la sección "Microsoft Excel Object"
@@josekobian una consulta del comentario donde redujiste las líneas de código, como haría para que la macro solo borre las filas si todas las columnas de dicha fila en mi tabla están vacías? Un saludo.
Esta Buenisimo!! me va a ser muy útil! Una pregunta, en vez de usar Selección actual, podria usarse con un nombre de rango? Es decir, tengo definido un nombre de rango de A1:R400 y lo he nombrado Template, en vez de poner la instruccion de Selección actual, como podria decirle a la macro primero seleccióna el rango Template (Fn F5 Template) y ya una vez seleccionado usar el resto de la instrucción que nos comentas, que tendria que modificar en la macro? Mil gracias de antemano
hola, quisiera saber si existe alguna forma de eliminar filas en blanco o vacias dentro de un rango sin afectar una tabla dinamica
hola, me gusto la macro que hiciste sabes, necesito un código, no se si puede ser. Yo quiero eliminar de mi tabla filas que no tienen alguna condicionante o regla.los registros que tienen regla las marque con un color y quiero que queden en mi tabla las que tengan una regla de cualquier tipo en cualquier columna.y las que salieron "limpias" quiero eliminarlas. puedes ayudarme con eso.
Esta excelente tu macro. Pero yo necesito seleccionar una columna (siempre la misma) y en las celdas que esten vacias que borre el renglon completo. el asunto es que la celda en realidad no esta vacia, tiene una formula y quiero borrar todo el renglon cuando dicha formula de como resultado un cero. Me podrias ayudar?. Saludos y mil gracias por compartir
Hola buenas noches , puedo hacer una pregunta con respecto a algo que no tengo como resolverlo, si tenemos una tabla de amortización y esta tiene un numero de cuotas por ejemplo 48 y si solo necesitamos 36 como oculto el resto ...gracias
cuando hay 2 filas o mas contiguas no las borra, me permiti hacerle un cambio a tu macro y queda asi
Sub EliminarFilasVacias2()
Dim SeleccionActual
Dim ult As Long
'Obtenemos la seleccion actual de filas
Set SeleccionActual = Application.Selection
ult = SeleccionActual.Rows.Count
'Navegamos por cada una de las filas de la selccion
For contadorFilas = ult To 1 Step -1
' Si la fila en la que me encuentro esta completamente vacia (cada celda)
If Application.Count(SeleccionActual.Rows(contadorFilas)) = 0 Then
'Eliminar la fila completa
SeleccionActual.Rows(contadorFilas).EntireRow.Delete
End If
Next
End Sub
Hugo González Hola Hugo, gracias... Tienes toda la razon. Ahora mismo actualizo el codigo. Saludos y gracias. Josematube.
+Hugo González Perfecta la modificacion, ahora si
Buenas Josema,
Quiero hacer lo mismo, borrar filas vacías pero quiero definir el rango, "A6:A65000", gracias por tu ayuda!
Hola, excelentes tutoriales. En mi caso quiero borrar las filas que se encuentren vacias en la columa que sombreo, aunque otras celdas de la fila esten llenas. Como es posible. Gracias.
mojitostgn Hola Mojitostgn, solo tendrias que cambiar la línea del IF donde pone = 0 lo puedes cambiar por 0
Saludos
Josema.
Josematube Muchas gracias
Se puede desarrollar una macro bajo la misma mecanica pero que elimine solo columnas???
hola, si quiero eliminar toda la fila pero si tengo una casilla vacia que tengo que modificar?
Que pasa si hay filtros entre medio?? se los puede saltar?
Como Se Le Hace Para Quitar Las Líneas Negras Que Salen Debajo De End Sub?
Como se adiciona un botón con esa macro?
Buenas tardes, tengo una duda, si yo tengo el rango definido, en mi caso es de la fila 500 a la 649, como hago para que en la macro quede establecido?
Gracias
me sale error '424' se requiere un objeto, luego se me pone en amarillo la linea For contadorfilas = 1 To seleccionaactual.Rows.Count Step 1. ayudaaa!!!
Hola Rockandlu, podrías compartir el codigo? Asi podria decirte que es lo que puede estar fallando.
Saludos!
Josema
hola, al ejecutarla, me sale un errro que la variable que el contaFilas no esta definida, que debo haceer?
hola amigo..
quiero hacer eso que muestras pero en lugar de eliminar quiero que no se muestren u ocultar, si me podrías ayudar... Gracias muy buen video :)
Martinez Enrique y que se pueda hacer en toda la hoja sin seleccionarla
La celda que parece q esta vacía, pero me aparece un signo ' y no me corre la macro q puedo hacer?
excelente tutorial, pero no me sale, me sale un aviso: no se ha definido la variable contadorfilas.
Set SeleccionActual = Application.Selection
' Navegamos por cada una de las filas de la seleccion
For contadorFilas = 1 To SeleccionActual.Rows.Count Step 1
' Si la fila en la que me encuentro esta completamente vacia (cada celda)
If Application.CountA(SeleccionActual.Rows(contadorFilas)) = 0 Then
' Elimina la fila completa
SeleccionActual.Rows(contadorFilas).EntireRow.Delete
End If
End Sub
Buen día a toda la comunidad de tutoriales de excel, programación y tecnlogía.
Me podróa ayudar con un trabajao de escuela por favor, el caso es el siguiente:
tengo en la columna A1, B1 nombre y telefono pero en algunas celdas de la columna A y B estan en blanco y me gustaria a traves de una macro buscar ya sea un nombre o telefono y en aquellas celdas donde no haya nombre o telefono agregue en automatico una leyenda que diga "SIN INFORMACIÓN" por favor y que siga con la busqueda.
A todos gracias.
al final ha funcionado pero no por completo mi archivo queda con filas vacías no eliminadas y hay que repetir la macro para eliminar las filas, al final de varias ejecuciones hay filas que no se eliminan
Hola, Julieta
Si aún tienes ese problema trata con esta macro, te servirá.
Sub Eliminar()
'Determina la cantidad de elementos a procesar
ult = Cells(Rows.Count, 1).End(xlUp).Row
'Recorre todos los elementos
For x = ult To 2 Step -1
'Condición a evaluar
If Application.CountA(Rows(x)) = 0 Then
'Acción a realizar
Rows(x).Delete
End If
Next
End Sub
+Antoneely Calizaya hola! Tengo el mismo problema, hay alguna macro para solucionarlo? Gracias!!!
+Antoneely Calizaya Funciona a la perfeccion
Y SI EN LA MISMA FILA TENGO DATOS?
SE ELIMINA TODA LA FILA CON TODO Y DATOS :/
yo tengo la siguiente planilla
i1199.photobucket.com/albums/aa469/seba158/ecxel.jpg
y quiero que me elimine las filas cuando un producto no tenga pedido en ninguna sucursal ( que son las columnas)
has logrado hacerlo?? tengo el mismo problema con mi base de datos no se cómo trabajar sobre esto