La forma mas sencilla de eliminar una hoja en Excel es: clic con el botón derecho del mouse sobre la pestaña con el nombre de la hoja, y luego “Eliminar”, del menú emergente.
[+/-] Ver el resto / Ocultar
Un cartel nos alertará sobre esta acción, la cual podemos confirmar o cancelar.
Ese cartel de advertencia, tan pero tan útil, es el que nos complica la vida si queremos directamente eliminar una hoja desde VBA. ¿Por qué? Por que si el usuario presiona “Cancelar”, la macro arrojará error y se detendrá su ejecución. Mas adelante hablaremos de cómo controlar los errores, pero ahora lo solucionamos:
Sub EliminarHoja()
Application.DisplayAlerts = False
Sheets("Hoja3").Delete
Application.DisplayAlerts = True
End Sub
La primera instrucción (que la seteamos en False) le dice a Excel que NO muestre mensajes de advertencia de ningún tipo. Luego eliminamos la hoja. Y, por último, seteamos a True la primer instrucción.
Esta última línea de código tiene su buena explicación: noten que estamos actuando sobre “Application”, es decir, sobre Excel, no sobre una hoja o celda. Si cambio algo de Application, esto perdurará hasta que volvamos a reiniciar Excel. Si yo omitiera esta ultima linea de código, Excel no mostraría mas NINGUN mensaje de alerta... y eso es peligroso.
Comentarios
Publicar un comentario