Proteger celdas de un rango en hojas en VBA

En un libro de contabilidad anual (12 hojas, una por cada mes) que creo desde cero mediante una macro, empiezo creando la hoja de enero, y el resto de hojas las copio a partir de la de enero pero modificando alguna celda para que contenga el nombre del mes.
La hoja de enero la creo a partir de ciertas informaciones que hay en otro libro, que hacen que año tras año esta hoja cambie. Mientras la estoy generando, sé qué celdas quiero que queden protegidas y cuáles no.
Una vez tengo la hoja de enero, voy creando las otras hojas porque tendrán la misma estructura y formatos que la de enero, excepto la celda que contiene el nombre del mes.
Mientras he ido creando la hoja de enero, me he guardado en un rango las celdas que quiero que estén protegidas.
Mi pregunta es:
¿Cómo proteger este mismo rango de celdas propagándolo a las otras hojas sin tener que volver a buscar en cada hoja las celdas que tengo que proteger (que son siempre las mismas para ese año independientemente de la hoja -es decir, del mes-)?
Si protejo la hoja de enero y luego la copio 11 veces, no puedo entonces cambiar el valor de la celda que contiene el nombre del mes.
Ojalá me haya expresado con claridad.

1 respuesta

Respuesta
1
Worksheets("Nombre"). Unprotect "contraseña"
Worksheets("Nombre").Range ("A1:A10").Locked=False
Worksheets("Nombre").Range ("A1")=MiValor1'...
'...
Worksheets("Nombre").Range ("A10")=MiValor10
Worksheets("Nombre"). Protect "Contraseña"

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas