¿Se puede colocar una contraseña a una hoja de excel sobre otra?

expertos, yo aquí nuevamente.

primero gracias por su ayuda me ha servido de mucho, la situación es la siguiente:

yo con un botón guardo una información de una celda del libro 1 a otro libro2, ella se me bloquea automáticamente y me pone contraseña "123"con el mismo botón, pero me sobreescribe cada vez que doy guardar.

es posible que solo se le de la opción de guardar cierta cantidad de veces (2) a esas celdas, que cuando se le de por ejemplo una tercera vez tenga una contraseña diferente y la pida?

o que me sugieren es para que no sobre escriban

notas son varias filas y cada una tiene su botón guardar.

excel 2007

gracias

1 Respuesta

Respuesta
1

Necesitarías guardar en alguna celda un contador, para que vaya sumando las veces que pasa esa celda por ese código de guardar.

El Pro: Si se puede hacer lo que pides

El contra: Para hacerlo en excel obligado necesitas escribir ese dato en alguna celda, claro que la celda pueda estar oculta, bloqueada, pero te lo pongo como un contra porque a muchos usuarios no les gusta escribir sobre sus informes.

Hola, y gracias de antemano...

como seria el codigo?

Primero al inicio de tus códigos actuales colocas esta linea

Range("C1").Value = Range("C1").Value + 1

Para mi ejemplo el contador va a estar en C1, la columna puede ser la que quieras y la fila la puedes condicionar tal cual la tengas en tus códigos.

Luego antes de que corras la parte de tu código en donde pides la clave colocas estas lineas

If Range("C1").Value < 2 Then

aquí pones la codificación actual que tienes para el tema de la contraseña

else

Y aquí pones una codificación similar a la anterior para la validación de la contraseña, solo que le colocas uns msg box y una contraseña diferente, la línea para el msgbox sería la siguiente:

msgbox("Usted está efectuando una modificación por " & Range("C1").Value & " vez, debe ingresar la contraseña de segundo nivel")

Y listo.

Hola y gracias primero que todo, que pena, así coloco el código que me facilito en mi macro, lo estoy ubicado mal?

Sub Botón218_Haga_clic_en()
Range("r54").Value = Range("r54").Value + 1
On Error GoTo sinlibro
Windows("ENTRADA Y SALIDA VEHICULAR.xlsm").Activate
ActiveSheet.Unprotect "123"
con = Range("Q53") + 1
Range("Q53") = con
Windows("VEHÍCULOS.xlsm").Activate
Range("A54:H54,j54,m54:Q54").Copy
Windows("ENTRADA Y SALIDA VEHICULAR.xlsm").Activate
On Error GoTo 0
Range("a53:n53").PasteSpecial xlPasteValues
Range("a54").Select
If Range("r54").Value < 2 Then
ActiveSheet.Protect "123", _
DrawingObjects:=False, _
Contents:=True, _
Scenarios:=False, _
AllowFormattingCells:=True, _
AllowFormattingColumns:=True, _
AllowFormattingRows:=True, _
AllowInsertingColumns:=True, _
AllowInsertingRows:=True, _
AllowInsertingHyperlinks:=True, _
AllowDeletingColumns:=True, _
AllowDeletingRows:=True, _
AllowSorting:=True, _
AllowFiltering:=True, _
AllowUsingPivotTables:=True
Else
ActiveSheet.Protect "ammy", _
DrawingObjects:=False, _
Contents:=True, _
Scenarios:=False, _
AllowFormattingCells:=True, _
AllowFormattingColumns:=True, _
AllowFormattingRows:=True, _
AllowInsertingColumns:=True, _
AllowInsertingRows:=True, _
AllowInsertingHyperlinks:=True, _
AllowDeletingColumns:=True, _
AllowDeletingRows:=True, _
AllowSorting:=True, _
AllowFiltering:=True, _
AllowUsingPivotTables:=True
MsgBox ("Usted está efectuando una modificación por " & Range("r54").Value & " vez, debe ingresar la contraseña de segundo nivel")
End If
ActiveWorkbook.Sabe
Windows("VEHÍCULOS.xlsm").Activate
Range("A55").Select
ActiveWorkbook.Sabe
Application.CutCopyMode = False
MsgBox "Se Guardó Exitosamente!", vbOKOnly + vbInformation, "FELICIDADES"
Exit Sub
sinlibro:
MsgBox "No se encuentra disponible el libro de Entrada y Salida Vehicular, Ábralo para poder guardar.", vbOKOnly + vbCritical, "ATENCIÓN"
Application.CutCopyMode = False
End Sub

y este es el código sin los cambios

Sub Botón218_Haga_clic_en()
On Error GoTo sinlibro
Windows("ENTRADA Y SALIDA VEHICULAR.xlsm").Activate
ActiveSheet.Unprotect "123"
con = Range("Q53") + 1
Range("Q53") = con
Windows("VEHÍCULOS.xlsm").Activate
Range("A54:H54,j54,m54:Q54").Copy
Windows("ENTRADA Y SALIDA VEHICULAR.xlsm").Activate
On Error GoTo 0
Range("a53:n53").PasteSpecial xlPasteValues
Range("a54").Select
ActiveSheet.Protect "123", _
DrawingObjects:=False, _
Contents:=True, _
Scenarios:=False, _
AllowFormattingCells:=True, _
AllowFormattingColumns:=True, _
AllowFormattingRows:=True, _
AllowInsertingColumns:=True, _
AllowInsertingRows:=True, _
AllowInsertingHyperlinks:=True, _
AllowDeletingColumns:=True, _
AllowDeletingRows:=True, _
AllowSorting:=True, _
AllowFiltering:=True, _
AllowUsingPivotTables:=True
Else
ActiveWorkbook.Sabe
Windows("VEHÍCULOS.xlsm").Activate
Range("A55").Select
ActiveWorkbook.Sabe
Application.CutCopyMode = False
MsgBox "Se Guardó Exitosamente!", vbOKOnly + vbInformation, "FELICIDADES"
Exit Sub
sinlibro:
MsgBox "No se encuentra disponible el libro de Entrada y Salida Vehicular, Ábralo para poder guardar.", vbOKOnly + vbCritical, "ATENCIÓN"
Application.CutCopyMode = False
End Sub

donde debo ubicarlos? Gracias y besos...

Si colocas la clave dentro de tu código, no veo razón para que coloques la clave, si solo necesitas una advertencia eso lo puedes manejar sin la clave. La idea de la clave es que solo los usuarios que conocen la clave pueden acceder a una tercera modificación.

DIme que necesitas:

Que cualquier usuario modifique la cantidad de veces que necesite, y solo le aparezca un mensaje de advertencia.?

Que cualquier usuario modifique la cantidad de veces que necesite, ¿Pero qué el mensaje de advertencia le pregunte si realmente desea efectuar una tercera modificación?

¿Qué solo un grupo de usuarios que tienen acceso a la clave de novel 2 puedan modificar por más de dos ocasiones?

DIme lo que necesitas para modificar tus códigos a tus necesidades reales.

Hola que pena y gracias de antemano.

Que solo yo pueda realizar mas de 2 modificaciones y que los demás tengan que pedir mi autorización para colocar la clave que solo yo sabría.

Gracias.

Ok, he adicionado a tu código la variable para que te pida la contraseñan, sin embargo el problema sería que cuando la coloques la persona que tienes a lado vería la contraseña, si no te incomoda estaría listo

Sub Botón218_Haga_clic_en()
On Error GoTo sinlibro
Windows("ENTRADA Y SALIDA VEHICULAR.xlsm").Activate
ActiveSheet.Unprotect "123"
Dim comprobar
comprobar = True
If Range("R54").Value > 1 Then
Do
a = InputBox("Usted está tratando de modificar por " & Range("R54").Value + 1 & " vez este casillero, necesita una clave de nivel 2", "Clave de Nivel 2")
If a = "ammy" Then
comprobar = False
Else
MsgBox ("La clave es incorrecta, favor intente nuevamente")
End If
Loop Until comprobar = False
End If
con = Range("Q53") + 1
Range("Q53") = con
Windows("VEHÍCULOS.xlsm").Activate
Range("A54:H54,j54,m54:Q54").Copy
Windows("ENTRADA Y SALIDA VEHICULAR.xlsm").Activate
On Error GoTo 0
Range("a53:n53").PasteSpecial xlPasteValues
Range("a54").Select
ActiveSheet.Protect "123", _
DrawingObjects:=False, _
Contents:=True, _
Scenarios:=False, _
AllowFormattingCells:=True, _
AllowFormattingColumns:=True, _
AllowFormattingRows:=True, _
AllowInsertingColumns:=True, _
AllowInsertingRows:=True, _
AllowInsertingHyperlinks:=True, _
AllowDeletingColumns:=True, _
AllowDeletingRows:=True, _
AllowSorting:=True, _
AllowFiltering:=True, _
AllowUsingPivotTables:=True
ActiveWorkbook.Sabe
Windows("VEHÍCULOS.xlsm").Activate
Range("A55").Select
ActiveWorkbook.Sabe
Application.CutCopyMode = False
Range("R54").Value = Range("R54").Value + 1
MsgBox "Se Guardó Exitosamente!", vbOKOnly + vbInformation, "FELICIDADES"
Exit Sub
sinlibro:
MsgBox "No se encuentra disponible el libro de Entrada y Salida Vehicular, Ábralo para poder guardar.", vbOKOnly + vbCritical, "ATENCIÓN"
Application.CutCopyMode = False
End Sub

Hola

Que pena copio el código tal cual y sale error y si coloco los cambios en mi código, no pasa nada seria de gran ayuda si me coloca un pequeño ejemplo aver si funciona.

Gracias

ammymatias

besos

Pásame el archivo a mi correo y lo reviso.

[email protected]

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas