desproteger hoja a través de código

23/07/2009 - 16:10 por JForero | Informe spam
Buenos días

Tengo la hoja de calculo hoja1 en donde a través de un boton copio los datos
a otra hoja (hoja inventario) la hoja inventario debe estar protegida para
que el usuario no haga modificaiciones pero si necesito que cuando de click
en el boton que tengo en la hoja1, me desprotega la hoja mientras graba y
actualiza los datos que estoy copiando. A continuación parte del código con
el que hago ese proceso.

Private Sub btnIngresaarVentas_Click()
Dim iFila As Long
Dim ws As Worksheet
Set ws = Worksheets("Inventario")
'Encuentra la siguiente fila vacia
iFila = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
'Copia los datos a la hoja
ws.Cells(iFila, 1).Value = "Venta"
ws.Cells(iFila, 2).Value = Worksheets("Movimiento").Range("j3")
ws.Cells(iFila, 3).Value = Worksheets("Movimiento").Range("j4")
etc..

gracias

jorgef

Preguntas similare

Leer las respuestas

#6 JForero
28/07/2009 - 18:59 | Informe spam
buen día para todos.. he realizado el ejercicio con la opción planteada por
Abraham y JC y estpa funcionando perfecto

gracias a todos por la colaboración

Jorgef




"Héctor Miguel" escribió en el mensaje de
noticias news:
hola, Sergio !

oye y com haces que se ejecute la opcion c de esta respuesta



copiando/pegando (o escribiendo) el procedimiento en el modulo de codigo
del objeto "ThisWorkbook" en el editor de VBA
(y obviamente, haciendo las adaptaciones del caso, segun cuales sean tus
hojas "reales" ?)
el evento '_open' se (auto)ejecuta cada vez que abres el libro de excel

saludos,
hector.

__ OP __
Tengo la hoja de calculo hoja1 en donde a través de un boton copio los
datos a otra hoja (hoja inventario)
la hoja inventario debe estar protegida para que el usuario no haga
modificaiciones
pero si necesito que cuando de click en el boton que tengo en la hoja1
me desprotega la hoja mientras graba y actualiza los datos que estoy
copiando...



para el caso de acciones que necesites hacer por macro con la hoja
protegida (y oculta ?)...
prueba a (re)proteger la hoja en el evento '_open' del ThisWorkbook
con la opcion de proteger solo la interfaz con el usuario +/- asi...

a) en excel 97 y 2000 NO necesitas repetir el password, es suficiente con
poner:
Private Sub Workbook_Open()
Worksheets("hoja1").Protect UserInterfaceOnly:=True
End Sub

b) a partir de excel 2002 [xp] SI es requisito repetir el password
Private Sub Workbook_Open()
Worksheets("hoja1").Protect _
PassWord:="la MISMA cOntRaSe#a qUe lE pUsISte", _
UserInterfaceOnly:=True
End Sub

c) si se trata de varias hojas (suponiendo una misma clave para todas)...
Private Sub Workbook_Open()
Dim Hoja As Worksheet
For Each Hoja In Worksheets(Array("hoja1", "hoja4", "hoja6"))
Hoja.Protect PassWord:="123", UserInterfaceOnly:=True
Next
End Sub

(practicamente todo) lo que hagas por codigo... pasara sin problemas
excepto ciertas cosillas relacionadas con ordenaciones, insertar
filas/columnas, objetos incrustados...
(y algunas mas que requeriran de otro tipo de administraciones)




Respuesta Responder a este mensaje
#7 Abraham
30/07/2009 - 18:36 | Informe spam
De nada amigo. Hasta la proxima. Saludos

Abraham
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida