Inicio > Microsoft Excel > karl82 > ELSA MATILDE ¡¡¡ AYUDA !!!!

ELSA MATILDE ¡¡¡ AYUDA !!!!

Experto:
Usuario:
Fecha: 01/07/2008
Valoración: (5,00 sobre 5) Categoría: Microsoft Excel
01/07/2008
adrian105, usuario preguntando en Microsoft Excel
Usuario
Hola elsa necesito de tu ayuda, tengo un formato de historia clinica y nececito que a medida que se vaya llenando las celdas, estas se vayan bloqueando, pero n o de una vez si no despues de 10 minutos o el tiempo que yo elija. como podria instalar una macro en la hoja para que me haga esto... tengo un ejemplo. el problema es que para cada celda va un bloque completo de codigo.. y en la historia hay muchas celdas. como haria para que me quede mas corta y funcionando en la hoja1 por ejemplo...Ademas si quiro cambiar un dato debo saber la contraseña de la hoja.. esto es para proteger la informacion y que no me vayan a cambiar los datos..De antemano gracias por la ayuda prestada, si necesitas trabajar sobre algo tengo dos ejemplos.pero lo que no se es como acomodarlo a mi necesidad.
andrea0178@hotmail.com
01/07/2008
adrian105, experto respondiendo en Microsoft Excel
Experto
Hola, me tome la libertad de contestar tu pregunta. Pega este codigo en un modulo:
Option Explicit
Dim ClockCell As String
Dim timer_enabled As Boolean
Dim timer_interval As Double
Dim segundero, minutero
Dim hora As String
Sub mar()
acumulador = 1
Sub cmd_TimerOn()
Dim interval As Double
interval = 1.15740740740741E-05
Call timer_Start(interval)
End Sub
Sub Timer()
segundero = segundero + 1
If segundero = 60 Then
minutero = minutero + 1
'Aqui le das la cantidad de minutos en que quieres q se active la proteccion a la hoja1 si deseas puedes variar el tiempo
If minutero = 10 Then
Worksheets("hoja1").Protect
minutero = 0
End If
segundero = 0
End If
End Sub
Sub timer_OnTimer()
Call Timer
If timer_enabled Then Call timer_Start
End Sub
Sub timer_Start(Optional ByVal interval As Double)
If interval > 0 Then timer_interval = interval
timer_enabled = True
If timer_interval > 0 Then Application.OnTime (Now + timer_interval), "Timer_OnTimer"
End Sub
Sub timer_Stop()
timer_enabled = False
End Sub
Sub Formulario()
Load UserForm1
UserForm1.Show
End Sub

Luego en la Hoja1 en la propiedad: Private Sub Worksheet_Activate(), haces referencia a: Sub cmd_TimerOn(), y listo tu documento de excel se bloqueara cada 10 minutos. Bueno espero haberte sido de ayuda. Saludos y no olvides cerrar la pregunta.
01/07/2008
adrian105, usuario preguntando en Microsoft Excel
Usuario
excelente respuesta amigo
Enlaces patrocinados