CREAR LISTA DE VALIDACIÓN AL INSERTAR DATOS
En este ejemplo se muestra como crear una validación en celda al introducir un registro y permitir el ingreso solamente de números enteros, es decir que automáticamente cuando se ingrese un registro se generará una validación
Maneja Excel como los mejores, click acá, si quieres aprender sobre Excel en inglés, entonces debes hacer click here. Si lo que necesitas es aprender o profundizar sobre la programación de macros con VBA este es unos de los mejores cursos on line que he visto en internet, te lo recomiendo no te arrepentirás.
Mira la macro en acción, una explicación más detallada de su codificación y funcionamiento, recomiendo observar para una más fácil comprensión de la macro; suscribe a nuestro canal de You Tube, mira el playlist con vídeos relacionados donde podrás ver la macros relacionadas en acción con una explicación en forma visual que ayudará a entender el ejemplo en forma más fácil.
Validación en Celda Con Macros – Permitir ingreso de números enteros únicamente
En este ejemplo, al insertarse un dato en cualquier fila de la columna A, excepto la celda A1, que está reservada para la cabecera de la columna, se ejecuta una macro que agrega una validación por medio de macros en celda.
Mas precisamente inserta la validación en la celda de la columna F y target.row, es decir la celda que recibió la modificación, o dicho de otro punto de vista la celda donde estábamos posicionados al modificar la celda de la columna A.
La validación consiste, en que solo se pueden agregar números enteros ente 1 y 100, si se agrega un número distinto a los números de dicho rango o que no sean enteros, la macro emite un aviso no permitiendo modificar la celda, hasta que se introduzca un dato válido.
Explicación del código para Crear Validación Con Macros en Excel VBA
Primero se debe establecer si la modificación de la celda de Excel provino de cualquier celda de la columna A, en caso negativo, la macro no hace nada, en caso positivo, la macro ejecuta la macro contenida después del IF, el código es el siguiente:
If Target.Row > 1 And Target.Column = 1 Then
Luego se debe agregar los parámetros entre los cuales serán válidos los números enteros ingresados, ello se hace con el siguiente código:
valida1 = 1
valida2 = 100
Luego la macro inserta la validación en la celda de la Columna F y la Celda Correspondiente (que se acaba de modificar), procediendo primero a borrar cualquier validación, luego a agregar la validación utilizando como paramentos los determinados en las variables, valida1 y valida2; luego se agrega cual será el mensaje en caso de que se intente ingresar un dato inválidos, ello se hace con el siguiente código;
With a.Cells(Target.Row, «F»).Validation
.Delete
.Add Type:=xlValidateWholeNumber, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:=valida1, Formula2:=valida2
.ErrorTitle = «Dato inválido»
.ErrorMessage = «Solo Puede ingresar números enteros entre 1 y 100»
End With
Código VBA para crear una validación en celda al insertar un dato
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target.Row > 1 And Target.Column = 1 Then
Application.ScreenUpdating = False
Set a = Sheets(«Hoja1»)
valida1 = 1
valida2 = 100
With a.Cells(Target.Row, «F»).Validation
.Delete
.Add Type:=xlValidateWholeNumber, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:=valida1, Formula2:=valida2
.ErrorTitle = «Dato inválido»
.ErrorMessage = «Solo Puede ingresar números enteros entre 1 y 100»
End With
End If
Application.ScreenUpdating = True
End Sub
Descarga el Libro Como Crear Validación de Datos en Automáticamente con Macros de Excel
Descarga desde acá el archivo usado como ejemplo en este post y en el vídeo explicativo, el mismo es totalmente gratuito y libre su uso, solicito aportar para sostener esta web, si está dentro de tus posibilidades, desde ya muchas gracias.
Si te fue de utilidad puedes INVITARME UN CAFÉ y de esta manera ayudar a seguir manteniendo la página, CLICK para descargar en ejemplo en forma gratuita.
If this post was helpful INVITE ME A COFFEE and so help keep up the page, CLICK to download free example.
Donate:
Cuenta Paypal: https://paypal.me/programarexcel
Cuenta Bitcoin: 1KBGGb8fyDzyR3X1Rie6m7VguzaAfngNbd
Cuenta Ether: 0x41Bbd24556914C83a31217eBb3BC49789b66e407