Permitir usuario modifique rango : AllowEditRanges

Buenas necesito hacer una macro la cual al proteger permite dejar modificar cierto rango de celdas...
ActiveSheet.Protection.AllowEditRanges.Add Title:="Rango1", Range:=Range( "A1:F1")
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Pero ese rango "A1:F1" es variable, osea la próxima vez necesito que sea "A2:F2", y no he podido crear un macro para modificar ese rango "Rango1".
He intentado eliminar el anterior y crear uno nuevo en el mismo macro, pero no me lo elimina, lo adiciona como "Rango2".
Ojala me haya echo entender...

1 respuesta

Respuesta
1
La siguiente rutina te servirá. Solo te resta establecer cómo le indicarás a la macro cual será el nuevo rango, en la variable 'rgo'
Sub protege()
'establecer nvo rango
rgo = "A4:F4"
'desprotege, elimina rango anterior y vuelve a asignar un nuevo rango
ActiveSheet.Unprotect
ActiveSheet.Protection.AllowEditRanges(1).Delete
ActiveSheet.Protection.AllowEditRanges.Add Title:="Rango1", Range:=Range(rgo)
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Si al final eso fue lo que hice, eliminar el anterior y crear uno nuevo...
Un detalle, se han fijado que cuando uno esta grabando una macro y te vas a:
Herramientas->Proteger->Permitir que los usuarios modifiquen rangos...
Y le das modificar a un rango que tengas existente, la grabadora de macro no crea ningún código, como si no hubiésemos echo nada...
Gracias por su tiempo...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas