Reglas de validación

Las reglas de validación nos permiten especificar el formato para un rango de celdas, restringiendo por ejemplo la entrada de datos no deseados, sean textos, campos vacíos o números. La forma de activar dichas reglas, recordemos, es desde la barra de menú, desplegamos datos y posteriormente validación. 

En este artículo se describe cómo configurar la validación de datos, incluidos los tipos de datos que se pueden validar y los mensajes que se pueden mostrar, además de proporcionar un libro que se puede descargar para obtener ejemplos de validación que se pueden modificar y utilizar en hojas de cálculo propias.

Con VBA también es posible crear reglas de validación.  En el siguiente ejemplo vamos a desarrollar una macro que nos impide dejar vacía la celda A1 y ademas sólo nos va a permitir introducir valores comprendidos entre 5 y 10.

Utilizaremos una estructura With _ end with. Y comenzamos seleccionando el rango a validar, en el ejemplo el A1:

With Range(“a1”).Validation

“Validation” es una propiedad con los métodos siguientes:

  • Add:  para añadir una nueva regla de validación a un rango de celdas.
  • Modify: cuando deseamos modificar las mismas
  • Delete: para eliminarlas.

A su vez el evento Add contiene una serie de argumentos:

Type (tipo de validación) es un argumento obligatorio con el que específicamos que tipo de validación vamos a aplicar, pudiendo escoger entre las siguientes:

  • xlValidateCustom (validación personalizada)
  • xlValidateDate(para fechas)
  • xlValidateDecimal (sólo números decimales)
  • xlValidateInputOnly (sólo entradas determinadas)
  • xlValidateList (mediante listas)
  • xlValidateTextLength (texto de un determinado tamaño)
  • xlValidateTime (sólo formatos horarios)
  • xlValidateWholeNumber ( para no admitir celdas vacías)

Otros argumentos son:

AlertStyle     XlDVAlertStyle opcional.  El estilo de alerta de validación.

XlDVAlertStyle puede ser una de estas constantes XlDVAlertStyle.
xlValidAlertInformation
xlValidAlertStopxlValidAlertWarning

Operator     XlFormatConditionOperator opcional.  El operador de validación de datos.

XlFormatConditionOperator puede ser una de estas constantes XlFormatConditionOperator.
xlBetween
xlEqualxlGreaterxlGreaterEqualxlLessxlLessEqual

xlNotBetween

xlNotEqual

Formula1      Variant opcional. La primera parte de la ecuación de la validación de datos.

Formula2      Variant opcional. La segunda parte de la validación de datos cuando Operator es xlBetween o xlNotBetween; de lo contrario, se omite este argumento.

De esta forma, nuestra macro quedaría como sigue:

Sub val()
With Range(“a3”).Validation
.Delete
.Add Type:=xlValidateWholeNumber, AlertStyle:=xlValidAlertStop, _
Operator:=xlBetween, Formula1:=”5″, Formula2:=”10″
.IgnoreBlank = True
.InCellDropdown = True

‘ para que nos salga una ventanita antes de introducir los datos
.InputTitle = “Número entre 5 y 10”

‘el título de la ventanita
.ErrorTitle = “Error en los datos”

‘los mensajes emergentes
.InputMessage = “Sólo se admiten valores entre 5 y 10”
.ErrorMessage = “Sólo números entre 5 y 10”
.ShowInput = True
.ShowError = True
End With
End Sub

Habrá observado que existe una primera sentencia “.Delete”, con ello nos aseguramos de que no existe una regla de validación o condición previa que nos anule la regla en ejecución. De hecho si elimina esa línea de código observará que se origina un error.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: