Bloquear celdas con listas desplegables una vez escogida las opciones confirmada a través de un botón.

Tengo las celdas h9, m9, d10 y d11 con listas desplegables, deseo que una vez escogidas las opciones a través de un botón que se lea "GRABAR" y luego confirmar la acción y bloquearlas para que no puedan ser modificadas, ¿Existe la posibilidad una vez efectuada esta acción el botón desaparezca o quede oculto?

La hoja está protegida, pero las celdas mencionadas están desbloqueadas, deseo que al efectuarse tal acción queden totalmente bloqueadas.

1 respuesta

Respuesta
2

Los botones dibujados en una hoja pueden ser del tipo Formulario o ActiveX.

Como no mencionas imaginaré que se trata del primero, y para ocultarlo necesitamos conocer su nombre. En mi ejemplo se llama Botón2 lo que en mi versión VBA sería Button 2.

Así queda entonces la macro colocada en un módulo y asignada a este botón:

Sub bloqueo()
'x Elsamatilde
ActiveSheet.Unprotect "1234"
'tus instrucciones de guardado
'-----------
'bloqueo de celdas
    Range("H9,M9").Locked = True
'oculta botón y vuelve a proteger
    ActiveSheet.Shapes("Button 2").Visible = False
    ActiveSheet.Protect "1234"
End Sub

Si utilizaras un botón ActiveX la macro se coloca en el Editor, en el objeto Hoja donde se encuentre dibujado. Como ejemplo coloqué allí un botón con las instrucciones para volver a mostrar el botón anterior:

Private Sub CommandButton1_Click()
'desproteje la hoja y vuelve a mostrar el botón
ActiveSheet.Unprotect "1234"
ActiveSheet.Shapes("Button 2").Visible = True
'vuelve a proteger la hoja
ActiveSheet.Protect "1234"
End Sub

Si esta respuesta resolvió esta consulta no olvides valorarla. Luego seguiré con la otra que publicaste.

PD) En la sección Macros de mi sitio encontrarás otras maneras de ejecutar macros como ser con 'atajos de teclado' evitando los botones.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas