¿Cómo bloquear o proteger celdas después de la entrada de datos en Excel?
Supongamos que tienes una hoja de cálculo y solo un rango específico de celdas en blanco necesita la entrada de datos, y después de terminar de ingresar los datos, necesitas que las celdas se bloqueen automáticamente para evitar más cambios. ¿Cómo puedes lograr esto? Este artículo puede ayudarte.
Bloquear o proteger celdas después de la entrada de datos con código VBA
Bloquear o proteger celdas después de la entrada de datos con código VBA
Por ejemplo, el rango específico de celdas en blanco es A1:F8. Por favor, sigue los siguientes pasos para bloquear estas celdas después de la entrada de datos en Excel.
1. Primero desbloquea este rango seleccionando las celdas, haciendo clic derecho, luego eligiendo Establecer formato de celda en el menú contextual, y en el cuadro de diálogo Formato de celdas, desmarcando la casilla Bloqueadas bajo la pestaña Protección, y finalmente haciendo clic en el botón Aceptar. Ver captura de pantalla:
2. Haz clic en Revisar > Proteger Hoja. Y especifica una contraseña para proteger esta hoja de cálculo.
3. Haz clic derecho en la pestaña de la hoja, selecciona Ver Código desde el menú contextual. Luego copia y pega el siguiente código VBA en la ventana de Código. Ver captura de pantalla:
Código VBA: Bloquear o proteger celdas después de la 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
Nota: En el código, “A1:F8” es el rango donde necesitas ingresar datos; y “123” es la contraseña para la hoja de cálculo protegida. Por favor, cámbialos según sea necesario.
4. Presiona simultáneamente las teclas Alt + Q para cerrar la ventana de Microsoft Visual Basic para Aplicaciones.
Después de terminar de ingresar datos en las celdas del rango A1:F8, estas se bloquearán automáticamente. Y obtendrás un cuadro de diálogo de advertencia si intentas cambiar cualquier contenido de las celdas de este rango. Ver captura de pantalla:
Artículos relacionados:
- ¿Cómo bloquear todas las referencias de celdas en fórmulas a la vez en Excel?
- ¿Cómo bloquear o desbloquear celdas basadas en valores de otra celda en Excel?
- ¿Cómo bloquear una imagen dentro de una celda en Excel?
Las mejores herramientas de productividad para Office
Impulsa al máximo tu dominio de Excel con Kutools para Excel y experimenta una eficiencia sin precedentes. Kutools para Excel ofrece más de300 funciones avanzadas para potenciar la productividad y ahorrar tiempo.Haz clic aquí para obtener la función que más necesitas...
Office Tab aporta una interfaz de pestañas a Office y hace tu trabajo mucho más sencillo
- Habilita la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
- Abre y crea varios documentos en nuevas pestañas de la misma ventana, en vez de en nuevas ventanas.
- ¡Aumenta tu productividad hasta un50% y reduce cientos de clics de ratón cada día!