Ocultar macros

Osasas54

New Member
Joined
Sep 10, 2002
Messages
6
Tengo dudas con el siguiente tema, y me gustaría saber si
lo que persigo es posible.

He creado un libro de excel con unas 15 hojas.
Para no tener que ir desplazandome de hoja a hoja por
medio de las pestañas
he creado macros para cambiar de hoja, de tal modo que
sólo pueda haber 1 hoja a la vista.
He creado un boton en cada hoja y le he asignado una macro
que lo único que hace es mostrar la hoja elegida, y
ocultar la actúal.

Además, este libro digamos que tiene 2 secciones:
De la página inicial puedes acceder a 3 hojas libremente,
o al resto mediante una contraseña
que he añadido a tavés de visual de excel.

Bien, después de tenerlo ya acabado necesito saber, si hay
aguna forma de:

A: Sólo se puedan ejecutar las macros desde los botones
donde están asignadas.
B: No se pueda acceder al menu ocultar - mostrar hoja.


Saludos,
Oscar
 

Excel Facts

Get help while writing formula
Click the italics "fx" icon to the left of the formula bar to open the Functions Arguments dialog. Help is displayed for each argument.
A. Poniendo
<pre>Option Private Module</pre>al principio del módulo donde están los macros.
B. Se puede proteger el libro seleccionando la estructura, o, desactivando ese menu a través de Viusal Basic.
 
Upvote 0
perdona, pero como se desactivan los menus através de visual??

He visto como son los eventos en el código de Acces, pero no veo como hacerlo através del de excel.
 
Upvote 0
Los menus pertenecen a la colleción "CommandBars", donde cada item es una barra.

Cada item de los que vienen incluidos con Excel tiene un ID único, lo que hace más facil su "búsqueda"... por ejemplo, para averiguar el ID del comando "Mostrar..." del submenu hojas hice esto:

<pre>?Application.CommandBars("Worksheet Menu Bar").Controls("Formato").Controls("Hoja").Controls("Mostrar...").Id
891 </pre> Así, se que este comando lo puedo identificar (Mover, ocultar, deshabilitar, etc.) así:
<pre>Application.CommandBars.FindControl(Id:=891).Enabled=False</pre>
 
Upvote 0
Hola, me ha venido muy bien lo que me has pasado. Pero necesitaría saber 2 cosillas...

1ª Como puedo vincular ese código:
Application.CommandBars.FindControl(Id:=891).Enabled=False
al inicio y al final del libro, para que se active al arrancar y se desactive al salir del libro.
Lo que he conseguido es meterlo en una macro, pero claro hay que ejecutarla para desactivar el menu, y lo que a mi me interesa es que se active y desactive automaticamente al abrir o cerrar el libro.
2ª ¿Sería posible volver a ver las macros que hemos hecho desaparecer con: Option Private Module?
 
Upvote 0

Forum statistics

Threads
1,223,929
Messages
6,175,451
Members
452,643
Latest member
gjcase

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top