VALIDACIÓN CON RASTREO POR PREFIJO

Publicar nuevo tema   Responder al tema

Ver el tema anterior Ver el tema siguiente Ir abajo

VALIDACIÓN CON RASTREO POR PREFIJO

Mensaje por GalileoGali el Sáb Jul 19, 2008 6:41 pm

Los ComBoboxes tienen una Funcionalidad MatchEntry: con valor = "fmMatchEntryFirsLetter", gracias a la cual, colocando una letra, la lista desplegable se posiciona exhibiendo como primer valor, la primera palabra que comienza con la letra marcada, de tratarse de una lista Ordenada, resulta práctico, y esta practicidad va en disminuciòn, cuanto mas largas sean las listas.
¿Puede hacerse algo similar con la lista definida para una Validación en celda?

En el adjunto puede verse que, salvando las distancias, puede hacerse y con el agregado de aproximar ya no a una sola letra, sino a todo un prefijo inicial.
En este caso, la lista Tiene una Definiciion dinamica. Ver Insertar >> Nombre >> Definir >> Lista.
Por ejemplo, colocar en la celda en amarillo el prefijo "col" y click en la "Flecha hacia abajo".
Desde ya que para lograr que soporte el valor Porpuesto dentro de la celda a validar: hay que configurar la validación, para que acepte cualquier valor, destildando la opción, "Mostrar Mensaje de error". (Obvio que la lista tiene que estar Ordenada, ascendente)
En el supuesto de que no se quiera permitir otros valores fuera de los de la lista. Puede colocarse el valor de rastreo en una celda contigua, pero hay que redefinir Lista, cambiando la referencia a la Celda Base, por la contigua, para que funciones COINCIDIR.

Lista : como =DESREF(Hoja1!$A$2:$A$22;COINCIDIR(Hoja1!$D$2&"*";Hoja1!$A$2:$A$22;0)-1;0;FILAS(Hoja1!$A$2:$A$22)-COINCIDIR(Hoja1!$D$2&"*";Hoja1!$A$2:$A$22;0)+1), A DEFINIR LA VALIDACION EN LA CELDA $D$2, y capturando el prefijo de esta misma celda
o
bien
Lista : como =DESREF(Hoja1!$A$2:$A$22;COINCIDIR(Hoja1!$E$2&"*";Hoja1!$A$2:$A$22;0)-1;0;FILAS(Hoja1!$A$2:$A$22)-COINCIDIR(Hoja1!$E$2&"*";Hoja1!$A$2:$A$22;0)+1), A DEFINIR LA VALIDACION EN LA CELDA $D$2, y capturando el prefijo de la celda por ejemlo, $E$2

Desde ya que, en la celda E2 va a quedar el prefijo sin borrar (soluble usando una macro de evento Change)

DESCARGA ARCHIVO
GalileoGali

GalileoGali
Admin

Mensajes : 306
Inscrito el : 24 Ene 2008
Edad : 52
Localización : Urdampilleta, Argentina

Volver arriba Ir abajo

Re: VALIDACIÓN CON RASTREO POR PREFIJO

Mensaje por ioyama el Lun Jul 21, 2008 3:27 am

Hola Gali

Una pequeña modificación para que en la validación sólo aparezcan las palabras que empiezan por el texto seleccionado

Validacion con Busqueda aproximada

Un saludo desde Vitoria

ioyama
Moderador

Mensajes : 35
Inscrito el : 03 Mar 2008
Edad : 45
Localización : Vitoria (España)

Volver arriba Ir abajo

Re: VALIDACIÓN CON RASTREO POR PREFIJO

Mensaje por GalileoGali el Lun Jul 21, 2008 8:19 am

Viendo la nueva idea de ioyama, por que no agregar alguna otra cosita, una funcionalidad que permita agregar nuevas palabras a la lista, automatizando el Ordenamiento y redefiniendo un Rango "con Nombre" "List", a modo de Referencia (Rango) Dinámica.
Para eso en el Modulo de la Hoja que contiene la Lista
copié este código
Código:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Lista As Range
If Target.Column <> 1 Then Exit Sub
Application.ScreenUpdating = False
Application.EnableEvents = False
Range("A2:A" & Cells(Rows.Count, 1).End(xlUp).Row).Sort Key1:=Range("A2"), Order1:=xlAscending, Header:= _
        xlNo, OrderCustom:=1, Orientation:=xlTopToBottom
Set Lista = Range("a2").CurrentRegion
    ActiveWorkbook.Names("List").RefersToLocal = "=" & Lista.AddressLocal
Application.EnableEvents = True
End Sub



( previamente, definì "a mano" el Rango con Nombre "List", a partir de la selección del rango existente.)

En las definiciones de "Lista" y "Lista2", utilicé List, reemplazando las referencias al Rango de la Lista original

Lista : =DESREF(List;COINCIDIR(Hoja1!$D$2&"*";List;0)-1;0;FILAS(List)-COINCIDIR(Hoja1!$D$2&"*";List;0)+1)
Lista2: =DESREF(List;COINCIDIR(Hoja1!$D$4&"*";List;0)-1;;CONTAR.SI(List;Hoja1!$D$4&"*"))
GalileoGali

GalileoGali
Admin

Mensajes : 306
Inscrito el : 24 Ene 2008
Edad : 52
Localización : Urdampilleta, Argentina

Volver arriba Ir abajo

validacion de datos con autocompletar

Mensaje por xeko el Miér Ago 06, 2008 9:03 pm

Que tal buenas tardes

por medio del presente solicito su ayuda para realizar una validacion de celdas pero
con la opcion de autocompletar ya que la lista desplegable es muy larga
vi un linkl que tiene esta informacion pero no se como utilizarla o colocarla

grax

xeko

Mensajes : 1
Inscrito el : 06 Ago 2008

Volver arriba Ir abajo

Re: VALIDACIÓN CON RASTREO POR PREFIJO

Mensaje por ioyama el Jue Ago 07, 2008 9:43 am

Hola xeko
Bienvenido al foro.

Me temo que no vas a poder realizar una validación con autocompletar, para ello deberíamos irnos a un cuadro combinado. Si son pocas las celdas que deben ir validadas podrías poner un combobox en cada una de ellas, sin son muchas quizás podría valer un único combobox móvil (a base de macros de evento).

Concreta más tu problema (sube un ejemplo) y veremos que se puede hacer.

Un saludo desde Vitoria

ioyama
Moderador

Mensajes : 35
Inscrito el : 03 Mar 2008
Edad : 45
Localización : Vitoria (España)

Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


Permiso de este foro:
No puedes responder a temas en este foro.