Restringir la escritura en una tabla de Excel para hacerlo solo mediante un formulario hecho en VBA.

He desarrollado un formulario con macros en VBA que almacena la información capturada en una tabla de excel.

No puedo ocultar la tabla debido a una macro que programé y que la requiere siempre visible pero quiero restringir la escritura y cualquier tipo de edición en esta tabla para que solamente se pueda escribir mediante el uso del formulario hecho en VBA.

¿Alguien ha tenido que hacer esto antes? ¿Cómo lo puedo solucionar?

3 respuestas

Respuesta
1

Intenta esto la primera macro restringe la escritura y el movimiento con el ratón y las flechas a la celda "a1" solo se puede hacer a través de macros, tendrías que cargar la instrucción al momento de que se abriera la hoja, la segunda quita esta protección.

Sub bloquea()
Worksheets("facturas").ScrollArea = "a1"
Range("f1") = "hola"
End Sub
Sub desbloquea()
Worksheets("facturas").ScrollArea = ""
Range("f1") = "hola"
End Sub

Muchas gracias y excelente idea James. Lo voy a intentar, una pregunta antes: ¿Qué hace esta línea en la macro?:

Range("f1") = "hola"

Cuando corras la macro te vas a dar cuenta de que si intentas teclear hola en la celda f1 no vas a poder pero la macro si puede escribir en dicha celda, es solo un ejemplo para ilustrar mi punto.

Respuesta
1

Otra solución es proteger la hoja, cuando grabas datos la macro que desproteja y luego vuelva a proteger la hoja.

https://youtu.be/IzfnvZlXjGg

Fíjate en ese ejemplo como se protegen y desprotegen las hojas

Respuesta
-1

Puedes trabajar con una hoja oculta, sin problema, lo que no puedes es seleccionar celdas o rangos en la hoja oculta. Evitando la instrucción "select" no tendrás ningún problema.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas