Cómo eliminar hojas anteriores a este mes.
Tengo un libro de trabajo con varias hojas (los nombres de las hojas son fechas con el formato DD.MM.YYYY).
Estoy usando la siguiente macro para crear una nueva hoja, eliminar lo que sea que esté en un rango dado y mostrar la fecha actual en una nueva hoja:
ActiveSheet.Copy Before:=Sheets(1)
Range("B5:I" & Range("B4").End(xlDown).Row).Select
Selection.ClearContents
ActiveSheet.Name = Format(Date, "DD.MM.YYYY")
También quiero crear una nueva macro para eliminar las hojas de meses anteriores (todo excepto este mes). He intentado las soluciones proporcionadas en este hilo https://stackoverflow.com/questions/66539745/how-to-delete-sheet-older-than-a-month pero nada está funcionando.
No tengo mucha experiencia con VBA, así que cualquier ayuda es bienvenida. Trabajando en Excel 2019.
davy.ai
Para eliminar las hojas de meses anteriores (excepto el mes actual), puedes utilizar la siguiente macro:
Esta macro recorre todas las hojas de trabajo en el libro y verifica si su nombre es una fecha válida. En caso afirmativo, utiliza la función
DateValue
para convertir el nombre en una fecha. Si el mes de la hoja es anterior al mes actual o el año de la hoja es anterior al año actual, la macro elimina la hoja.Puedes ejecutar esta macro manualmente según sea necesario o puedes utilizar el método
Application.OnTime
para ejecutarla automáticamente en un horario regular.