Si alguna vez te has preguntado cómo hacer que las celdas de un formulario en Excel se bloqueen automáticamente después de ingresar un valor, este tutorial es para ti. Hoy te mostraré cómo lograrlo utilizando macros en Excel para que, al capturar un dato en una celda, esta se bloquee de forma automática, evitando modificaciones accidentales. Vamos a ver paso a paso cómo puedes implementar esta funcionalidad.
Formulario en Excel con Macros: Captura Datos y Bloquea Celdas Automáticamente
Suscríbete para más tutoriales
Descarga el archivo para practicar
Escribe tu correo electrónico para recibir gratis el archivo para practicar.
*Al enviar mi correo electrónico, acepto recibir noticias y ofertas. Puedo darme de baja en cualquier momento.
El Problema: Proteger Celdas Conforme se Ingresan Datos
La situación es la siguiente: tienes un formulario con campos como nombre, apellido, correo y teléfono. Lo que deseas es que, al ingresar un dato en una celda, esta se bloquee inmediatamente y te permita avanzar al siguiente campo. El objetivo es garantizar que la información capturada se proteja y no se pueda modificar.
Paso 1: Configurar el Formulario

Comenzamos por crear un formulario sencillo en Excel con los campos necesarios:
- Nombre (celda C3)
- Apellido (celda C5)
- Correo (celda C7)
- Teléfono (celda C9)
Inicialmente, estas celdas estarán desbloqueadas para permitir la entrada de datos.
Paso 2: Desbloquear las Celdas de Entrada
Antes de aplicar las macros, es importante asegurarnos de que las celdas donde se ingresarán los datos no estén bloqueadas:
- Selecciona las celdas C3, C5, C7, y C9.
- Haz clic derecho y selecciona Formato de celdas.
- En la pestaña Proteger, desmarca la opción Bloqueada.
- Luego, protege la hoja desde la pestaña Revisar con una contraseña. Esto permitirá que solo las celdas desbloqueadas puedan modificarse.
Paso 3: Usar el Evento Change en VBA
Ahora vamos a crear una macro utilizando el evento Change en VBA para que Excel detecte cuándo se ingresan datos en las celdas específicas y automáticamente bloquee la celda modificada.
Código VBA:
- Haz clic derecho en la pestaña de la hoja donde está tu formulario y selecciona Ver código.
- Selecciona el evento Worksheet y luego el evento Change.
- Introduce el siguiente código:
Option Explicit
'Mis cursos de Excel, Macros y Power BI | https://www.deztaca.com
'Mi canal de YouTube | youtube.com/user/sergioacamposh
'Descarga mi add-in | addin.exceleinfo.com
'Obtén la Certificación Excel Expert | exceleinfo.com/certificacion-mos
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("C3, C5, C7, C9")) Is Nothing Then
Application.EnableEvents = False
Me.Unprotect Password:="pass"
Target.Locked = True
Select Case Target.Address
Case "$C$3"
Range("C3").Interior.Color = vbCyan
Range("C5").Select
Case "$C$5"
Range("C5").Interior.Color = vbCyan
Range("C7").Select
Case "$C$7"
Range("C7").Interior.Color = vbCyan
Range("C9").Select
Case "$C$9"
Range("C9").Interior.Color = vbCyan
End Select
Me.Protect Password:="pass"
Application.EnableEvents = True
End If
End Sub
¿Qué hace esta Macro?
- Detecta los cambios: El evento
Changemonitorea las celdas C3, C5, C7 y C9 para ver si se ha ingresado un dato. - Desactiva los eventos: Evita que el código se ejecute en bucle continuo.
- Desprotege la hoja: Esto es necesario para poder modificar las celdas.
- Bloquea la celda modificada: Una vez que se ingresa el dato, la celda se bloquea automáticamente.
- Cambia el color de la celda: Le da un color amarillo para indicar que está bloqueada.
- Mueve el cursor a la siguiente celda: Dependiendo de cuál celda fue modificada, mueve el cursor a la siguiente (de C3 a C5, y así sucesivamente).
Paso 4: Probar la Macro
Ahora es el momento de probar. Escribe un nombre en la celda C3 y presiona Enter. Verás cómo la celda de apellido se activa, mientras que la celda de nombre queda bloqueada. Repite este proceso con los demás campos y observa cómo cada celda se bloquea automáticamente al ingresar los datos.
¿Y si Quieres Guardar los Datos en Otra Hoja?
Una vez que tienes los datos capturados y las celdas bloqueadas, puedes ampliar la funcionalidad añadiendo una macro para guardar los datos en otra hoja. En otro de mis videos te muestro cómo hacer esto, y te invito a que lo veas para aprender cómo combinar ambas soluciones.
Certifícate en Excel
Tienes experiencia en Excel y quieres mejorar tus oportunidades laborales? Obtén la Certificación Excel Expert avalada por Microsoft.
