En esta entrada, vamos a aprender a borrar filas en Excel de manera completamente automática usando una macro en VBA
Este ejercicio pertenece a un trabajo realizado a un cliente que muy amablemente nos ha dado su permiso para poder publicarlo.
Dicho trabajo consistía en crear un sistema de gestión de clientes en Excel completamente automático y que desglosaremos poco a poco en el blog de DTV Urquiza.
¿Por Qué automatizar este proceso?
En nuestro caso necesitábamos crear una factura que incluía los materiales a través de un formulario previo, como es natural, no todas las facturas precisan del mismo número de materiales, por lo que, es necesario de que deban limpiarse una vez dicho papel ha sido emitido.
A continuación, te muestro una serie de razones por las que deberías de añadir esta funcionalidad en tus proyectos con VBA.
- Evita errores humanos al limpiar datos manualmente.
- Ahorra tiempo en tareas repetitivas.
- Mejora la organización al garantizar que la hoja esté siempre limpia.
- Optimiza el rendimiento al evitar filas innecesarias.
Nuestros principales problemas con el sistema de gestión de clientes.
A la hora de efectuar este trabajo teníamos una serie de inconvenientes que debíamos de solventar:
- Cualificación digital de nuestro cliente
- Nuestro usuario no disponía de los conocimientos técnicos suficientes en Excel, por lo que debíamos plantear una solución que no fuera un verdadero reto para él.
- Experiencia de usuario
- Aunque es Excel en DTV Urquiza queríamos crear una interfaz que fuera amigable y fácil de entender.
- Hoja de Excel editable manualmente
- Para poder realizar unos cálculos posteriores, era necesario que la hoja no estuviera protegida contra manipulaciones lo que suponía un riesgo para la integridad de los datos.
- Dinamismo entre facturas
- Como hemos explicado anteriormente no hay dos facturas iguales a nivel de materiales utilizados por lo que era necesario crear un código que se adaptara a ellas.
Solución paso a paso
A continuación, te voy a explicar como borrar filas en excel paso a paso.
Para ello primeramente necesitamos fijar cuales serán los límites que debemos eliminar.
Para el límite superior, fijamos la fila número 34 y para el límite inferior aquella última fila cuya columna «C» contenga datos.
Vamos primero con el límite inferior que es aquel que puede variar.
lastMaterialRow = ws.Cells(ws.Rows.Count, "C").End(xlUp).Row
La variable lastMaterialRow almacenará el número de la última fila en la que la columna «C» tiene datos
Como el límite superior lo hemos fijado en la fila 34, pasamos a borrar el rango de celdas previamente definido.
If lastMaterialRow >= 34 Then
ws.Rows("34:" & lastMaterialRow).Delete
End If
Código completo para borrar filas en Excel con un solo click
Sub BorrarFilasDinamicas()
Dim ws As Worksheet
Dim lastMaterialRow As Long
' Definir la hoja activa
Set ws = ActiveSheet
' Encontrar la última fila con datos en la columna C
lastMaterialRow = ws.Cells(ws.Rows.Count, "C").End(xlUp).Row
' Eliminar filas de materiales si existen
If lastMaterialRow >= 34 Then
ws.Rows("34:" & lastMaterialRow).Delete
End If
' Restaurar la configuración de Excel
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
Application.DisplayAlerts = True
End Sub
Por último vamos a compartir un vídeo con el resultado, en nuestro caso, borramos las filas cuando ejecutamos el botón de imprimir la factura.
Recuerda que en DTV Urquiza somos expertos en este tipo de soluciones, si tienes dudas puedes contactar con nosotros, estaremos encantados de poder ayudarte.
Como siempre te dejo nuestras redes sociales para que no te pierdas ninguna de nuestras novedades.