Necesito saber como se hace lo siguiente,que cada vez que yo abra una hoja de calculo de excell especifico, que en este caso se llama Factura,un rango de celda en este caso G1:G1,CONTENGA UNA MACRO QUE CADA VEZ QUE YO ABRA EL DOCUMENTO ESE RANGO SE INCREMENTE EN 1,Y QUE MANTENGA ESE RANGO PROTEGIDO ES DECIR QUE NADIE PUEDA MODIFICARLO,LOS DEMÁS RANGOS DE LA HOJA DE CALCULO SE PUEDEN MODIFICAR ,ya hice la macro pero cuando protejo el rango me da error,sin mas quisiera puedan ayudarme y gracias de antemano.
Jue, 24/09/2009 - 14:42
#1
RANGO QUE SE INCREMENTE Y ESTE PROTEGIDO.. RESPUESTAS..?
entiendo que tienes la hoja protegida, con todas las celdas desbloqueadas, excepto la que necesitas para la numeración automática.
¿Cuándo se produce el error? Si la hoja está protegida y desde la macro intentas cambiar el valor no te dejará (porque está también protegida para la macro)
Intenta a desproteger la hoja desde la macro, realizar el cambio y volver a protegerla. De esta manera cuando quede disponible para el usuario continuará protegida y no podrá modificar la numeración.
------
Ya sé Excel, pero necesito más
La potencia sin control no sirve de nada.
agradecimientos
------
Ya sé Excel, pero necesito más.
Tanto el libro como cada hoja tienen los métodos Protect y Unprotect para activar y desactivar la protección. Tienen diferentes argumentos según lo que se quiera bloquear.
por ejemplo si activas la hoja donde se encuentra el rango
Private Sub Workbook_Open()
'... activas la hoja
ActiveSheet.Unprotect
Range("G1:G1") = Range("G1:G1") + 1
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
'...resto de la macro
End Sub
para saber los argumentos de Protect, yo grabaría una macro protegiendo la hoja a mano para ver lo que necesitas.
------
Ya sé Excel, pero necesito más
La potencia sin control no sirve de nada.
agradecimientos
------
Ya sé Excel, pero necesito más.