Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Como usar controles activex con planilla protegida?

268 views
Skip to first unread message

Robert Blanco

unread,
Oct 19, 2009, 10:51:18 AM10/19/09
to
Agregué un Calendario (Control ActiveX) en mi planilla. Luego protejo
ciertas celdas para evitar su modificación.
Pero el problema es que la protección también me impide usar el
calendario.
Mi pregunta: Cómo hago para poder usar mi calendario a pesar de tener
protegida la planilla?

A pesar que dispongo de éste código:

Private Sub Calendar1_Click()
ActiveSheet.Unprotect "clave"
[B1] = Calendar1.Value
ActiveSheet.Protect "clave"
End Sub

Tiene el problema que al darle click sobre las casillas donde haya un
número de día, emerge la ventana de excel que avisa que la hoja está
protegida. Luego de cerrar la ventana emergente, al darle click en
alguna región del calendario donde no haya ningun número de día (por
ejemplo en la zona de los nombres de los dias o donde se muestra el
mes y el año), recién se carga la fecha en la celda B1. Se podría
evitar que emerga la ventana?
Muchas gracias por su ayuda,

H�ctor Miguel

unread,
Oct 20, 2009, 9:30:17 PM10/20/09
to
hola, Robert !

> Agregue un Calendario (Control ActiveX) en mi planilla. Luego protejo ciertas celdas para evitar su modificacion.
> Pero el problema es que la protecci�n tambi�n me impide usar el calendario.
> Mi pregunta: Como hago para poder usar mi calendario a pesar de tener protegida la planilla? ...

para el caso de acciones que necesites hacer por macro con la hoja protegida (y oculta ?)...
prueba a (re)proteger la hoja en el evento '_open' del ThisWorkbook
con la opcion de proteger solo la interfaz con el usuario +/- asi...

a) en excel 97 y 2000 NO necesitas repetir el password, es suficiente con poner:
Private Sub Workbook_Open()
Worksheets("hoja1").Protect UserInterfaceOnly:=True
End Sub

b) a partir de excel 2002 [xp] SI es requisito repetir el password
Private Sub Workbook_Open()
Worksheets("hoja1").Protect _
PassWord:="la MISMA cOntRaSe#a qUe lE pUsISte", _
UserInterfaceOnly:=True
End Sub

c) si se trata de varias hojas (suponiendo una misma clave para todas)...
Private Sub Workbook_Open()
Dim Hoja As Worksheet
For Each Hoja In Worksheets(Array("hoja1", "hoja4", "hoja6"))
Hoja.Protect PassWord:="123", UserInterfaceOnly:=True
Next
End Sub

(practicamente todo) lo que hagas por codigo... pasara sin problemas
excepto ciertas cosillas relacionadas con ordenaciones, insertar filas/columnas, objetos incrustados...
(y algunas mas que requeriran de otro tipo de administraciones)

saludos,
hector.


Héctor Miguel

unread,
Oct 21, 2009, 2:01:07 AM10/21/09
to
hola, Robert !

> Agregue un Calendario (Control ActiveX) en mi planilla. Luego protejo ciertas celdas para evitar su modificacion.


> Pero el problema es que la protección también me impide usar el calendario.

Robert Blanco

unread,
Oct 27, 2009, 9:08:18 PM10/27/09
to
On 21 oct, 03:01, Héctor Miguel
<HctorMig...@discussions.microsoft.com> wrote:
> hola,Robert!

Había sido mi error fue insertar el calendario directamente en la hoja
sin usar un userform. Se solucionò al incluir el calendario dentro de
un userform.
Gracias Hector

0 new messages