Macro para proteger hoja al decir no al imprimir
Que tal estimado:
Espero me puedas ayudar a resolver mi problema, pasa que tengo una hoja protegida para que la secretaria no cometa errores al digitar, pero necesito un contador automático en dicha hoja protegida (que servirá como un correlativo de control), he copiado una macro que da el numero correlativo al imprimir, pero al estar protegida la hoja (no quiero que se modifique dicho numero correlativo) me daba error, lo solucione con ActiveSheet.Unprotect, pero solo si la condición de imprimir dice si, vuelve a proteger la hoja, en el caso de decir no... La hoja queda desprotegida... ¿me podrías ayudar a solucionar este problema?, te mando la macro que tengo hasta el momento:
Private Sub Workbook_BeforePrint(Cancel As Boolean)
ActiveSheet.Unprotect "clave"
Dim Mensaje, Resp
Dim Total As Double
Total = WorksheetFunction.Sum(Range("E14:E25"))
Mensaje = "El total es " & Total
Mensaje = Mensaje & "¿Desea Imprimir?"
Resp = MsgBox(Mensaje, vbQuestion + vbYesNo)
If Resp = 7 Then
Cancel = True
Exit Sub
End If
[E28] = Total
[F12] = [F12] + 1
ActiveSheet.Protect "clave"
End Sub
Agradecido de antemano por tu atención.
Espero me puedas ayudar a resolver mi problema, pasa que tengo una hoja protegida para que la secretaria no cometa errores al digitar, pero necesito un contador automático en dicha hoja protegida (que servirá como un correlativo de control), he copiado una macro que da el numero correlativo al imprimir, pero al estar protegida la hoja (no quiero que se modifique dicho numero correlativo) me daba error, lo solucione con ActiveSheet.Unprotect, pero solo si la condición de imprimir dice si, vuelve a proteger la hoja, en el caso de decir no... La hoja queda desprotegida... ¿me podrías ayudar a solucionar este problema?, te mando la macro que tengo hasta el momento:
Private Sub Workbook_BeforePrint(Cancel As Boolean)
ActiveSheet.Unprotect "clave"
Dim Mensaje, Resp
Dim Total As Double
Total = WorksheetFunction.Sum(Range("E14:E25"))
Mensaje = "El total es " & Total
Mensaje = Mensaje & "¿Desea Imprimir?"
Resp = MsgBox(Mensaje, vbQuestion + vbYesNo)
If Resp = 7 Then
Cancel = True
Exit Sub
End If
[E28] = Total
[F12] = [F12] + 1
ActiveSheet.Protect "clave"
End Sub
Agradecido de antemano por tu atención.
1 Respuesta
Respuesta de Juan Carlos González Chavarría
1