Una de las acciones más recurrentes en nuestros procesos y macros es cuando necesitamos eliminar determinados registros de las informaciones y listados que estamos tratando.
Aprovechando una de las tablas que puse en un ejemplo anterior, realizaremos el ejercicio:
Lo único que tenemos que hacer es pegar esta macro en un módulo y ejecutarla. Según las especificaciones, se eliminarán las líneas de los registros «9», «16» y «30». Para el ejemplo he agregado un botón de formulario para ejecutar el código.
Sub Eliminar_Datos()
Application.ScreenUpdating = False
'Seleccionar la hoja y la columna donde están los datos a eliminar
Worksheets("DETALLE").Select
Worksheets("DETALLE").Columns("A").Select
'Realizamos un bucle donde se eliminan las filas completas cuyos datos
'señalados coincidan en la columna A.
Do While Not IsEmpty(ActiveCell)
If ActiveCell = "9" Or ActiveCell = "16" Or ActiveCell = "30" Then
Selection.EntireRow.Delete
Else
ActiveCell.Offset(1, 0).Select
End If
Loop
'Publicamos mensaje cuando el proceso finalice.
Application.ScreenUpdating = True
MsgBox ("LOS REGISTROS HAN SIDO ELIMINADOS"), vbInformation
End Sub
Como siempre os dejo el ejemplo para mayor utilidad.
Descarga el archivo de ejemplo pulsando en: ELIMINAR REGISTROS EN EXCEL