Crear Validación de Datos en Excel con Macro
En este post se muestra como crear una validación de datos en Excel con macro, los datos para crear la lista de validación se encuentra en otra hoja distinta a la cual estamos trabajando.
Aprende excel en forma fácil y sencilla, 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 al seleccionar en la celda «J2» un item se crea automáticamente en la celda «J3» una lista de validación con macro, la cual permite el ingreso de datos, solamente de los que coincidan con la lista de validación generada por la macro, o bien se debe seleccionar desde el listado de validación que se genera en la celda, seleccionado el dato se procede a filtrar y mostrar los datos en la hoja de Excel.
Explicación del código para crear Listado para Validación de Datos en Excel VBA
La macro detecta si se modifica la celda de la columna 10 es decir «J1», se utiliza el siguiente código
Target.Row = 1 And Target.Column = 10 Then
Luego se crea objetos con las hoja donde se encuentran los datos y la hoja donde se creará el listado de validación, así:
Set a = Sheets(«Hoja1»)
Set b = Sheets(«Hoja3»)
Se determina la última celda con datos de la hoja 3 que es donde se encuentra el listado de datos para utilizarlos como validación
uf = b.Range(«B» & Rows.Count).End(xlUp).Row
Por último se agrega la validación en la celda «J2» de Excel VBA, se usa el siguiente código:
With a.Range(«J2»).Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:=»=Hoja3!$B$2:$B$» & uf
.IgnoreBlank = True
.InCellDropdown = True
End With
Descarga el Libro de Excel utilizado en el Ejemplo Como Crear Validación con Macro
La descarga del archivo de Excel usado como ejemplo puedes hacerlos desde el final del post, 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.
Código para Crear Validación de Datos con Macro de Excel – VBA
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row = 1 And Target.Column = 10 Then
Application.ScreenUpdating = False
Set a = Sheets(«Hoja1»)
Set b = Sheets(«Hoja3»)
uf = b.Range(«B» & Rows.Count).End(xlUp).Row
With a.Range(«J2»).Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:=»=Hoja3!$B$2:$B$» & uf
.IgnoreBlank = True
.InCellDropdown = True
End With
End If
If Target.Row = 2 And Target.Column = 10 Then Call Filtrar
End Sub
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