Hay momentos en que tenemos que crear o agregar una hoja y más tarde encontramos que no se usa esa hoja, por lo tanto, tenemos que eliminar la hoja rápidamente del libro de trabajo. Este artículo se centra en ahorrar tiempo y proporcionar código para eliminar hojas sin ningún cuadro de mensaje de solicitud usando macro / código vba. Podría ser una hoja o varias. Y Excel da una alerta emergente para confirmar la eliminación de la hoja. Si es una hoja, es manejable. Pero si tiene que eliminar varias hojas, obtendrá una ventana emergente por hoja.
A menudo se crean varias hojas utilizando VBA. Pero al final, no los necesitas realmente. Desea eliminarlos después de que termine su trabajo. Mantendrá su archivo más ligero, más rápido y sensible.
El código VBA para eliminar una hoja es simple
Hojas("SheetName").Eliminar
Digamos que tiene este código para agregar una hoja y luego eliminarla cuando termine el trabajo.
Sub AddAndDeleteSheet() Hoja.Add 'Agrega una nueva hoja al libro activo '---- '---- '---- trabajo en hoja hecha ActiveSheet.Eliminar 'elimina el Activesheet activo Final Sub
Al ejecutar este código, Hojas.Add funcionará sin ningún aviso, pero cuando el compilador llegue a ActiveSheet.Eliminarlo le pedirá un mensaje como este.
Como está eliminando hojas usando VBA, sabe lo que está haciendo. Le gustaría decirle a Excel que no muestre esta advertencia y elimine la maldita hoja.
Para ello vamos a apagar el botón de alerta de visualización de la aplicación de Excel.
El siguiente código omitirá este mensaje de alerta y la hoja se eliminará sin ninguna indicación.
Sub AddAndDeleteSheet() Aplicación.MostrarAlertas = False 'desactivando el botón de alerta Hoja.Añadir '---- '---- '---- trabajo en hoja hecha ActiveSheet.Eliminar Aplicación.MostrarAlertas = True 'cambiar el botón de alerta Final Sub
Aquí estamos eliminando Activesheet usando VBA. Puede eliminar cualquier hoja usando VBA. Simplemente escriba Sheets("Sheetname").eliminar. Seguir adelante...
DisplayAlerts es una propiedad del objeto Application en VBA. Aquí estamos apagar al principio de nuestro código y encenderlo al final del código. El código anterior confirmará la eliminación sin ninguna insinuación.
Nota: El código anterior ignorará todas las advertencias lanzadas por Excel. Si desea permitir solo la eliminación de hojas, use esta línea.
Aplicación.DisplayAlerts = False 'desactivando el botón de alerta ActiveSheet.Eliminar Aplicación.MostrarAlertas = True 'cambiar el botón de alerta Esto ignorará solo la advertencia de eliminación de hojas.
Consejo profesional: estas líneas de código hacen que su código VBA sea más eficiente. Siempre úselos al comienzo de su macro y vuelva a encenderlos donde sea que se espere que su código salga de la rutina.
Advertencia: Si no se enciende antes de salir de la subrutina, es posible que no vea ninguna advertencia en absoluto. Incluso si su código no se está ejecutando. Esto puede causar muchos problemas.
Si tiene varias hojas para eliminar y está utilizando un bucle, pruebe este código –
Opción Explícita Sub macro2() Dim i como largo Aplicación.MostrarAlertas = Falso Para i = 1 a Hojas de trabajo.Contar Si Worksheets(i).Name Like "Test*" Entonces Worksheets(i).Eliminar Siguiente i Aplicación.MostrarAlertas = Verdadero Final Sub
Eso es todo. Está hecho. Es fácil como encender y apagar el ventilador. ¿No es así?
The applications/code on this site are distributed as is and without warranties or liability. In no event shall the owner of the copyrights, or the authors of the applications/code be liable for any loss of profit, any problems or any damage resulting from the use or evaluation of the applications/code.