Borrar el contenido de una columna en la tabla de Excel en función del valor específico de una celda.
Tengo la siguiente tabla en mi archivo de Excel con habilitación de macros,
Tabla1:
Mi objetivo es:
Antes de cerrar este libro, necesito borrar el contenido de la columna D (mostrada como “Columna 4” en la Tabla1), solo donde el valor de las celdas de la columna D sea igual a 999. Por ejemplo, viendo la captura de pantalla de arriba, el contenido de las celdas D2 y D4 debe ser borrado cuando se active el evento de “cerrar libro”.
Importante: si el usuario crea un nuevo registro(s) en esta tabla, entonces cualquier celda nueva bajo la columna D también podría tener el valor 999. Si un nuevo registro contiene el valor 999 en la columna D, ¡debe ser borrado! ¡Cualquier nuevo registro donde el valor de la celda sea igual a 999 en la columna D debe ser borrado!
El siguiente código VBA está siendo usado, pero no está funcionando:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim sht As Worksheet
Set sht = ThisWorkbook.ActiveSheet
If Worksheets("Sheet1").ListObjects("Table1").Columns(4).Value = 999 Then
Worksheets("Sheet1").ListObjects("Table1").Columns(4).ClearContents
End If
End Sub
davy.ai
Solución para borrar el contenido de la columna D en la Tabla1 de un archivo de Excel:
Para lograr el objetivo de borrar el contenido de la columna D en la Tabla1 antes de cerrar el libro, podemos utilizar el siguiente código VBA:
Este código primero define los objetos de la hoja de trabajo (sht) y la tabla (tbl). Luego, selecciona el rango de la columna D (colD) del rango de datos de la tabla. Finalmente, recorre cada celda de colD y verifica si el valor de la celda es 999. Si es verdadero, borra el contenido de la celda.
Ten en cuenta que este código también funcionará si se agrega un nuevo registro a la Tabla1 con un valor de celda de 999. Cuando se cierre el libro, la nueva celda también se borrará.
Al utilizar este código, se puede lograr el objetivo de borrar el contenido de la columna D en la Tabla1 antes de cerrar el libro.