ayuda con Sub Auto_Close
Publicado por Oscar Gabriel (13 intervenciones) el 07/05/2008 20:27:32
Hola a todos y gracias por leer mi nota, el problema que tengo ahora es :
En un archivo que tengo protegido bajo una macro, esconde las hojas que no deseo que vean ciertos usuarios. Trabaja perfectamente pero tengo incluida la opcion que al cerrar. abra todas las hojas ocultas con un Auto_Close. El problema con el que me encuentro es que a la hora de cerrar un archivo, excel hace la pregunta de que si desea hacer cambios (para esto ya corrio el sub auto_close y abrio todas las hojas), si alguien da click en "Cancelar" entonces lo deja con todas las hojas abiertas y pueden seguir trabajando viendo la informacion que no deseo que vean...
alguien me puede ayudar para no permitir esto?
Sub auto_close()
Dim wsheets As Worksheet
Application.ScreenUpdating = False
For Each wsheets In Worksheets
wsheets.Visible = True
wsheets.Protect Password:="admin"
Next
Dim Prompt As VbMsgBoxResult
If ThisWorkbook.Saved = False Then
With Application
.DisplayAlerts = False
Prompt = MsgBox("Desea guardar los cambios a'" & _
ThisWorkbook.Name & "'?", vbExclamation + vbYesNoCancel)
Select Case Prompt
Case vbYes
ThisWorkbook.Save
Case vbNo
ThisWorkbook.Close False
Case vbCancel
UserForm1.Show *****AQUI ES DONDE NO SE QUE HACER! SI LE PONGO QUE MUESTRE EL USERFORM ME DA UN ERROR*****
End Select
.DisplayAlerts = True
End With
End If
Application.ScreenUpdating = True
End Sub
En un archivo que tengo protegido bajo una macro, esconde las hojas que no deseo que vean ciertos usuarios. Trabaja perfectamente pero tengo incluida la opcion que al cerrar. abra todas las hojas ocultas con un Auto_Close. El problema con el que me encuentro es que a la hora de cerrar un archivo, excel hace la pregunta de que si desea hacer cambios (para esto ya corrio el sub auto_close y abrio todas las hojas), si alguien da click en "Cancelar" entonces lo deja con todas las hojas abiertas y pueden seguir trabajando viendo la informacion que no deseo que vean...
alguien me puede ayudar para no permitir esto?
Sub auto_close()
Dim wsheets As Worksheet
Application.ScreenUpdating = False
For Each wsheets In Worksheets
wsheets.Visible = True
wsheets.Protect Password:="admin"
Next
Dim Prompt As VbMsgBoxResult
If ThisWorkbook.Saved = False Then
With Application
.DisplayAlerts = False
Prompt = MsgBox("Desea guardar los cambios a'" & _
ThisWorkbook.Name & "'?", vbExclamation + vbYesNoCancel)
Select Case Prompt
Case vbYes
ThisWorkbook.Save
Case vbNo
ThisWorkbook.Close False
Case vbCancel
UserForm1.Show *****AQUI ES DONDE NO SE QUE HACER! SI LE PONGO QUE MUESTRE EL USERFORM ME DA UN ERROR*****
End Select
.DisplayAlerts = True
End With
End If
Application.ScreenUpdating = True
End Sub
Valora esta pregunta


0