Macro para abrir cuadro de diálogo antes de modificar celda protegida

Necesito una macro para modificar el valor de una celda protegida (por ejemplo: A5) con contraseña genérica (1234).

Si es posible que antes me genere un cuadro de diálogo con una advertencia (por ejemplo: "¿Esta seguro que desea modificar este valor?" "Si" - "No") y a continuación me pida el nuevo valor que se desea insertar, protegiendo nuevamente la celda.

Muchas gracias por su colaboración!!

Respuesta
1

Este podría ser un modo. La hoja debe estar protegida permitiendo la 'selección de celdas bloqueadas'.

Entonces se ejecutará al 'seleccionar' la celda.

Entrá al Editor de macros, seleccioná la HOJA donde vaya a ejecutarse y allí copiá esta macro, ajustando el rango de acción:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'x Elsamatilde
'se ejecuta en el rango A5:C10
If Intersect(Target, Range("A5:C10")) Is Nothing Then Exit Sub
sino = MsgBox("¿Está seguro que desea modificar este valor?", vbQuestion + vbYesNo, "CONFIRMAR")
If sino <> vbYes Then Exit Sub
'confirmado: se desprotege la hoja, modifica el valor y vuelve a proteger
ActiveSheet.Unprotect "1234"
nvovalor = InputBox("Ingrese el nuevo valor", "Reemplazo")
Target.Value = nvovalor
ActiveSheet.Protect "1234"
'seleccionar una celda fuera del rango
Range("B1").Select
End Sub

El nuevo valor se guarda con formato alfanumérico. Si necesitas que sea numérico colocarás la función de conversión VAL o CDBL según tenga decimales o no:

Target.Value = VAL(nvovalor)

Si este evento no te resulta, aclarame un poco más cómo es tu proceso en general como para idear alguna otra solución.

PD) Podes solicitarme el ejemplo a mi correo.

Sdos

Elsa

2 respuestas más de otros expertos

Respuesta
1

La verdad es que NO es complejo realizarlo. Pero requiere un Userform. Mandame tu archivo a [email protected] y te ayudo directamente en tu planilla. De otro modo, enviar un correo e instrucciones es más complicado por este medio, independiente de que luego te envíe acá todas las instrucciones para que aprendas y puedas modificarlo a tu gusto en el futuro.

Hola Maximiliano... ahí te mandé lo que me pediste.

Muchas gracias!

Te mande la solución de lo que necesitas.

Cualquier otra ayuda, no dudes en escribirme a través de todoexpertos

No olvides calificar je je..

Respuesta
1

Funciona de la siguiente manera, cuando selecciones la celda A5, la macro te preguntará "¿Esta seguro que desea modificar este valor?", si contestas Sí, la macro te permite modificar el valor en la celda.

Modificas el valor y cuando presionas enter, la macro se ejecuta y vuelve a bloquera la celda, para que cuando la selecciones para modificarla te vuelva a preguntar.

Tienes que poner la macro en los eventos de workbook

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Por.DAM
    celda = "A5"
    clave = "1234"
    ActiveSheet.Unprotect clave
    Range(celda).Locked = True
    ActiveSheet.Protect clave
    If Not Intersect(Target, Range(celda)) Is Nothing Then
        If MsgBox("¿Esta seguro que desea modificar este valor?", _
            vbYesNo, "Modificar celda") = vbYes Then
            ActiveSheet.Unprotect clave
            Target.Locked = False
            ActiveSheet.Protect clave
        End If
    End If
End Sub

Cambia en la macro "A5" por la celda que quieras, y también cambia clave "1234" por el password que quieras.


4. Del lado derecho copia la macro


Saludos. Dante Amor

Recuerda valorar la respuesta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas