Situación: hicimos una macro que, cuando se cumplen ciertas condiciones, elimina una hoja del libro. En principio anda bien, pero en el momento de eliminar la hoja aparece un mensaje que me pregunta si estamos seguros. La cuestión es que queremos que elimine la hoja sin preguntar. ¿Por qué para esto? ¿Se evalúan las condiciones necesarias? A continuación responderemos estas preguntas
Cuando eliminamos una hoja (por ejemplo, con las opciones [Edición/Eliminar hoja]) aparece un cuadro de advertencia ya que esta tarea es una de las pocas operaciones que no se pueden revertir con la opción [Deshacer]. La advertencia aparece también cuando la borramos desde una macro con la instrucción Delete. Por ejemplo, la instrucción ActiveSheet.Delete elimina la hoja actual y Sheets(3).Delete elimina la tercera hoja del libro.
Si queremos que no aparezca este cuadro al hacer la eliminación a través de una macro, tenemos que incluir (antes de la instrucción de eliminación) la sentencia Application.DisplayAlerts = False. Esta línea suprime los mensajes de advertencia tanto para la eliminación de hojas como para la sobrescritura de archivos y algunas más. Luego conviene restablecer los mensajes con la instrucción Application.DisplayAlerts = True.