Eliminar celdas y en hoja bloqueada por codigo

09/01/2007 - 20:14 por Sho mismo | Informe spam
En una hoja bloqueada, para borrar unas celdas desplazando el resto
hacia arriba con la instruccion:

ws.Range(RangoDestino).Delete Shift:=xlShiftUp

(ws es la hoja activa con el rango a borrar)
Se detiene la ejecucion en esa línea, a pesar de estar desbloqueadas
las celdas, y "toda la eternidad" de celdas por debajo. Para evitarlo
habia pensado en colocar antes y despues lo siguiente:

ActiveSheet.Unprotect '(desbloqueando aqui)
ws.Range(RangoDestino).Delete Shift:=xlShiftUp 'elimina las celdas
ActiveSheet.Protect DrawingObjects:=True, Contents:=True,
Scenarios:=True '(volviendo a bloquear)

Lo que lo hace funcionar, pero claro, solo si la contraseña de
proteccion está vacía (algo bastante inutil por otro lado)

¿puede hacerse funcionar con una hoja bloqueada con contraseña?
(necesito que se desplacen hacia arriba, no sirve con borrar su
contenido)
Gracias por adelantado, y un saludo a todos
 

Leer las respuestas

#1 Tux
10/01/2007 - 23:44 | Informe spam
Sho mismo a formulé la demande :
En una hoja bloqueada, para borrar unas celdas desplazando el resto
hacia arriba con la instruccion:

ws.Range(RangoDestino).Delete Shift:=xlShiftUp

(ws es la hoja activa con el rango a borrar)
Se detiene la ejecucion en esa línea, a pesar de estar desbloqueadas
las celdas, y "toda la eternidad" de celdas por debajo. Para evitarlo
habia pensado en colocar antes y despues lo siguiente:

ActiveSheet.Unprotect '(desbloqueando aqui)
ws.Range(RangoDestino).Delete Shift:=xlShiftUp 'elimina las celdas
ActiveSheet.Protect DrawingObjects:=True, Contents:=True,
Scenarios:=True '(volviendo a bloquear)

Lo que lo hace funcionar, pero claro, solo si la contraseña de
proteccion está vacía (algo bastante inutil por otro lado)

¿puede hacerse funcionar con una hoja bloqueada con contraseña?
(necesito que se desplacen hacia arriba, no sirve con borrar su
contenido)
Gracias por adelantado, y un saludo a todos



Hola Sho mismo :-)

Suponiendo que tienes la hoja ya protegida:

Puedes utilizar algo asi :

'--


ActiveSheet.Unprotect Password:U55

'Tu codigo

ActiveSheet.Protect Password:U55


'

Nos comentas ok? :-)

Saludos
Monica


¡Un Saludo! :-)
www.fermu.com
www.zorval.es

Preguntas similares