Saltar al contenido
PROGRAMAR EN VBA MACROS DE EXCEL

Como EVITAR ELIMINAR Hojas CELDAS Filas COLUMNAS en Excel Modificar RIBBON #519

evitar eliminar hojas celdas filas columnas en excel

Deshabilitar Botón Eliminar en Excel y Menú Contextual – Botón Derecho del Mouse – Ratón

Hoy se mostrará como proteger el libro de Excel impidiendo que se puede eliminar celdas, filas, columnas y hojas en Excel, se apela a código de VBA y a modificación del código XML del Libro de Excel para lograr o evitar que se eliminen hojas, celdas, filas y columnas de Excel.

Necesitas aprender a manejar Excel, hazlo con los mejores y de la manera más fácil, click acá, si quieres aprender sobre Excel en inglés, entonces debes hacer click here. Si lo que necesitas es aprender o profundizar sobre la programación de macros con VBA este es unos de los mejores cursos on line que he visto en internet, te lo recomiendo no te arrepentirás.

  
 

Mira la macro en acción, una explicación más detallada de su codificación y funcionamiento, recomiendo observar para una más fácil comprensión de la macro; suscribe a nuestro canal de You Tube, mira el playlist con  vídeos relacionados donde podrás ver la macros relacionadas en acción con una explicación en forma visual que ayudará a entender el ejemplo en forma más fácil.

Inhabilitar icono para Eliminar en Excel

Cuando se abre el libro se ejecuta una macro que impide que salga el menú contextual, que es aquel se muestra cuando se hace click con el botón derecho del ratón sobre las celdas, filas, encabezados de columnas o en la barra donde están las hojas del Libro Excel y a través de los cuales se puede acceder a eliminar celdas,  suprimir filas, quitar columnas y borrar hojas.

Para lograr lo mencionado se debe agregar código en VBA, más precisamente en el evento Open de ThisWorkbook, por medio del cual se inhabilitan los menús contextuales.

Para deshabilitar el botón o icono que se encuentra en la cinta de opciones o Ribbon de Excel «Eliminar en Excel«, al cual se accede de la pestaña «Inicio» grupo de botones «Celdas», icono «Eliminar»; se debe modificar el código XML del archivo de Excel y deshabilitar esa opción.

Se usa el Editor de XML, que es un pequeño programa denominado «OfficeCustomUIEditorSetup», el cual se puede descargar y aprender a usar desde el ejemplo «377 Como Usar el Editor XML Para Modificar Ribbon o Cinta de Opciones de Excel».

También será útil por si se requiere inhabilitar otros botones en Excel, saber el nombre de los distintos comandos de Excel, puedes obtener el archivo en el siguiente ejemplo «Listado de Comandos de Excel que Hay en Menus Barras Ribbon»

Explicación del código que evita que se puede Eliminar celdas, filas, columnas y hojas de Excel

En código código XML que inhabilita el botón «Eliminar en Excel«, que si observamos el libro de ejemplo el mismo aparece atenuado, tal cual aparecen lo botones en Windows cuando están deshabilitados.

El código es mu simple no hace falta que sepamos programar en XML, solo basta con copiar y pegar siguiendo las instrucciones explicitas en el vídeo asociado a este post, siendo el código que inhabilita dicho icono el siguiente:

<command idMso=»TableDeleteRowsAndColumnsMenu» enabled = «false» />

En ThisWorkbook del libro de Excel en el «evento open» se debe agregar el código para inhabilitar los distintos menús contextuales, o menús que se muestran cuando se hace click con el botón derecho del ratón, que son los siguients:

Application.CommandBars(«Cell»).Enabled = False
Application.CommandBars(«Ply»).Enabled = False
Application.CommandBars(«Row»).Enabled = False
Application.CommandBars(«Column»).Enabled = False

Luego en el evento «before close» o antes de salir se debe restablecer los menús a su estado original de la siguiente forma: 

Application.CommandBars(«Cell»).Enabled = True
Application.CommandBars(«Ply»).Enabled = True
Application.CommandBars(«Row»).Enabled = True
Application.CommandBars(«Column»).Enabled = True

Si se observa el código anterior al salir no hace otra cosa que volver a habilitar todos los menús contextuales deshabilitados en el actual libro de Excel cambiando su estado a «True».

Descarga del archivo ejemplo que impide Eliminar en Excel

El ejemplo que se usa en este pos y en el vídeo de YouTube se puede descargar desde el final del post sin ninguna restricción, solicito aportar para sostener esta web, si está dentro de tus posibilidades, desde ya muchas gracias.

Código usado para Impedir que se eliminen hojas, celdas, filas y columnas en Excel

Código que se ingresa en la programación XML del Archivo de Excel


<!– Deshabilita opciones de Excel en ribbon o menu –>

<customUI xmlns=»http://schemas.microsoft.com/office/2009/07/customui»>

<commands>

<!– Deshabilita Eliminar como–>
<command idMso=»TableDeleteRowsAndColumnsMenu» enabled = «false» />

</commands>
</customUI>

Código que se ingresa en ThisWorkbook en Excel

Sub Workbook_BeforeClose(Cancel As Boolean)
Application.CommandBars(«Cell»).Enabled = True
Application.CommandBars(«Ply»).Enabled = True
Application.CommandBars(«Row»).Enabled = True
Application.CommandBars(«Column»).Enabled = True
End Sub
Private Sub Workbook_Open()
Application.CommandBars(«Cell»).Enabled = False
Application.CommandBars(«Ply»).Enabled = False
Application.CommandBars(«Row»).Enabled = False
Application.CommandBars(«Column»).Enabled = False
End Sub


Si te fue de utilidad puedes INVITARME UN CAFÉ y de esta manera ayudar a seguir manteniendo la página, CLICK para descargar en ejemplo en forma gratuita.

If this post was helpful INVITE ME A COFFEE and so help keep up the page, CLICK to download free example.

Donate:
Cuenta Paypal: https://paypal.me/programarexcel
Cuenta Bitcoin: 1KBGGb8fyDzyR3X1Rie6m7VguzaAfngNbd
Cuenta Ether: 0x41Bbd24556914C83a31217eBb3BC49789b66e407