Saltar al contenido
PROGRAMAR EN VBA MACROS DE EXCEL

Como CREAR Lista de VALIDACION DATOS en Misma Hoja CON MACRO Excel VBA #531

Validar datos en excel, Registros en la misma hoja

Validar Datos Ingresados en Excel con Macro

En este post  se enseña como crear una validación de datos con macros, validación de datos en Excel es la función que permite ingresar en las celdas solo cierto tipo de datos registros, lo más común es que se restrinja el ingreso de datos a un listado de registros, en este post aprenderás como establecer validación de datos con un macro de Excel VBA.

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.

Crear Lista de Validación con Excel

En este ejemplo el listado de datos para validar los datos ingresados se encuentran en la columna Z de la misma hoja, es decir con los datos de la columna Z se hace un listado de registros válidos, al seleccionar un registro en la columna J1 se procede a crear en J2 una celda validada.

El dato a ingresar en J2 no puede diferir o dicho de otro modo debe ser uno de los datos que se encuentra en la Lista de validación que se crea con los datos de la columna Z.

Explicación del código para crear Listado para Validación de Datos en Excel VBA

La macro detecta si se modifica la celda «J1», en ese caso se empieza a ejecutar el código contenido en la macro, creando un objeto con la hoja1 y determinando la última fila con datos de la columna Z, con el fin de obtener el rango para crear la lista de registros que serán usados para validar los datos ingresados, se usa el siguiente código:

Set a = Sheets(«Hoja1»)
uf = a.Range(«Z» & Rows.Count).End(xlUp).Row

Luego en «J2», se crea la validación con datos obtenidos de la misma hoja y columna 7, el resultado es que se verá en la celda una flecha, presionando la misma se podrá observar el listado de registros que están en la columna Z, estos registros son todos los permitidos ingresar en la celda, «J2» en este caso, el código propiamente dicho para crear la validación en la celda es el siguiente:

With a.Range(«J2»).Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:=»=$Z$2:$Z$» & uf
.IgnoreBlank = True
.InCellDropdown = True
End With

Código de Macro para Validar Datos en Excel

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row = 1 And Target.Column = 10 Then
Application.ScreenUpdating = False
Set a = Sheets(«Hoja1»)
uf = a.Range(«Z» & Rows.Count).End(xlUp).Row

With a.Range(«J2»).Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:=»=$Z$2:$Z$» & uf
.IgnoreBlank = True
.InCellDropdown = True
End With
End If

If Target.Row = 2 And Target.Column = 10 Then Call Filtrar
End Sub


Descarga el Libro de Excel utilizado en el Ejemplo Como Crear Validación con Macro

Desde los links siguientes descarga el archivo usado en este ejemplo, 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

Summary
Author Rating
1star1star1star1star1star
Aggregate Rating
no rating based on 0 votes