¿Cómo bloquear o proteger las celdas después de la entrada o entrada de datos en Excel?
Supongamos que tiene una hoja de trabajo y solo un cierto rango de celdas en blanco necesita ingresar datos, y después de terminar de ingresar datos, necesita que las celdas se bloqueen automáticamente para evitar cambios nuevamente. ¿Cómo puedes hacer para lograrlo? Este artículo te puede ayudar.
Bloquear o proteger las celdas después de la entrada de datos o la entrada con código VBA
Bloquear o proteger las celdas después de la entrada de datos o la entrada con código VBA
Por ejemplo, el cierto rango de celdas en blanco es A1: F8. Haga lo siguiente para bloquear estas celdas después de la entrada de datos en Excel.
1. Desbloquee este rango primero, seleccione las celdas y haga clic derecho, luego elija Formato de celdas en el menú contextual y en el Formato de celdas cuadro de diálogo, desmarcando la Cerrado caja debajo del Protección pestaña, y finalmente haciendo clic en el OK botón. Ver captura de pantalla:
2. Hacer clic en Revisar > Hoja de protección. Y especifique una contraseña para proteger esta hoja de trabajo.
3. Haga clic derecho en la pestaña de la hoja, seleccione Ver código desde el menú contextual. Luego copie y pegue el siguiente código VBA en la ventana Código. Ver captura de pantalla:
Código VBA: bloquee o proteja las celdas después de la entrada o entrada de datos
Dim mRg As Range
Dim mStr As String
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Range("A1:F8"), Target) Is Nothing Then
Set mRg = Target.Item(1)
mStr = mRg.Value
End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
Dim xRg As Range
On Error Resume Next
Set xRg = Intersect(Range("A1:F8"), Target)
If xRg Is Nothing Then Exit Sub
Target.Worksheet.Unprotect Password:="123"
If xRg.Value <> mStr Then xRg.Locked = True
Target.Worksheet.Protect Password:="123"
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Range("A1:F8"), Target) Is Nothing Then
Set mRg = Target.Item(1)
mStr = mRg.Value
End If
End Sub
Note: En el código, “A1: F8” es el rango que necesita para ingresar datos; y "123" es la contraseña de esta hoja de trabajo protegida. Cámbielos como necesite.
4. Prensa otro + Q teclas simultáneamente para cerrar el Microsoft Visual Basic para aplicaciones ventana.
Después de terminar de ingresar datos en las celdas del rango A1: F8, se bloquearán automáticamente. Y obtendrá un cuadro de diálogo emergente si intenta cambiar el contenido de cualquier celda de este rango. Ver captura de pantalla:
Artículos relacionados:
- ¿Cómo bloquear todas las referencias de celda en fórmulas a la vez en Excel?
- ¿Cómo bloquear o desbloquear celdas según los valores en otra celda en Excel?
- ¿Cómo bloquear la imagen / imagen en o dentro de la celda en Excel?
Las mejores herramientas de productividad de oficina
Mejore sus habilidades de Excel con Kutools for Excel y experimente la eficiencia como nunca antes. Kutools for Excel ofrece más de 300 funciones avanzadas para aumentar la productividad y ahorrar tiempo. Haga clic aquí para obtener la función que más necesita...
Office Tab lleva la interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil
- Habilite la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
- Abra y cree varios documentos en nuevas pestañas de la misma ventana, en lugar de en nuevas ventanas.
- ¡Aumenta su productividad en un 50% y reduce cientos de clics del mouse todos los días!