Proteger hoja de excel donde actúa una macro

Buenas tardes a todos
Soy novato en esto de las macros y la verdad es que ando bastante perdido. He creado una hoja de excel para un amigo con la que pueda facturar. Indagando en esta página di con el siguiente cogido y así generar un numero correlativo de factura, pero mi problema esta a la hora de proteger dicha hoja, cuando quiero generar el numero correlativo... Me da error. ¿Cómo puedo hacer para que esta macro me deje generar números de factura estando la hoja protegida?
Sub Genera()
Dim numConsec As Long
Dim strConsec As String
Range("A1").Select
Selection.NumberFormat = "@"
If IsEmpty(ActiveCell) Then
Range("A1").Value = "00000"
Else
numConsec = Val(Range("A1").Value) + 1
strConsec = Right("00000" & Trim(Str(numConsec)), 5)
Range("A1").Value = strConsec
End If
End Sub
Saludos y gracias de antemano

1 Respuesta

Respuesta
1
Tenés 2 opciones: o dejar esa celda desbloqueada o desproteger la hoja al momento de enviar información y luego volverla a proteger.
En tu rutina debieras agregar entonces:
Sub Genera()
Dim numConsec As Long
Dim strConsec As String
Activesheet.Unprotect "tuclave" 'si no tiene clave solo dejá hasta Unprotect
Range("A1").Select
Selection.NumberFormat = "@"
If IsEmpty(ActiveCell) Then
Range("A1").Value = "00000"
Else
numConsec = Val(Range("A1").Value) + 1
strConsec = Right("00000" & Trim(Str(numConsec)), 5)
Range("A1").Value = strConsec
ActiveSheet.Protect "tuclave"
End If
End Sub
*) Si la protección presenta algunas particularidades debieras proteger la hoja manualmente con la grabadora de macros encendida. Al detenerla encontrarás en un módulo la instrucción completa
PD) Todo lo que necesitas saber a la hora de programar lo encontrarás en mis manuales...
Buenas tardes, Elsa
Muchas gracias por la ayuda aportada y sobre todo por la rapidez. He optado por la segunda opción y me funciona de maravilla, ¡Me has salvado la vida!
Para terminar definitivamente con el tema, me surge una pequeña pregunta pero que no va relacionada con los macros. ¿Hay alguna opción que de forma automática cuando el compañero genere facturas, a la hora de cerrar se guarden copias directamente en una carpeta especifica y así el tenga una copia digital de las factuas emitidas?
Saludos y muchas gracias nuevamente
Josué

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas