validacion de listas filtradas de nuevo

13/01/2004 - 00:18 por Alberto Gonzàlez | Informe spam
Hola a todos

Estoy de nuevo molestando con lo de las validaciones de lista

Hector o Adriano... he visto la solucion que me enviaste funciona muy bien
pero en mi planteamiento inicial los apellidos estan en una columna y los
nombres en otra solo dispongo de dos columnas tal como pudes ver en el caso
Nombre Apellidos
Gonzalez Sonia
Perez Ivan
Ramirez Miguel
Perez Pedro
Fuenzalida Juan
Gonzalez Marcela
que al selecionar Gonzalez de solo las alternativas de
nombres con apellido
Gonzalez, es decir, "Sonia " y Marcela".
Tu solucion la planteaste en forma horizontal.. pero la necesito en forma
vertical..
Saludos
Alberto
 

Leer las respuestas

#1 Héctor Miguel
13/01/2004 - 03:40 | Informe spam
hola, Alberto !

... planteamiento inicial ... apellidos ... en una columna y nombres en otra solo dispongo de dos columnas [...]
Nombre Apellidos
Gonzalez Sonia [...]
que al selecionar Gonzalez de solo las alternativas de nombres con apellido Gonzalez ... "Sonia " y Marcela".



==> en tu planteamiento inicial tambien comentabas validar con lista EN OTRA HOJA una celda 'pero...'
si SOLO 'se dispone' de dos columnas [en la hoja 'con la lista'] es necesario usar macros [como te comente]

==> en la hoja donde se 'validaran' [con un combo] los nombres 'segun' los apellidos [del 'otro' combo]...
1.- 'incrusta' dos combos [barra de harramientas 'cuadro de controles'] =>'posicionalos' donde mejor 'convenga'<2.- copia las siguientes lineas en el modulo de codigo [de 'esa' hoja]
3.- supuestos:
a) "Hoja2" es la de la lista, que 'empieza' [SIN los encabezados] en 'A2' => apellidos + 'B2' => nombres
b) "Hoja1" es la de los combos: 'A3' 'recibe' el apellido [ComboBox1] y 'B3' 'recibe' el nombre [ComboBox2]

si cualquier duda [o datos adicionales]... ¿comentas?
saludos,
hector.
______
Private Sub Worksheet_Activate()
With Worksheets("Hoja2")
Me.ComboBox1.ListFillRange = _
.Name & "!" & .Range(.Range("a2"), .Range("a65536").End(xlUp)).Address
End With
Me.ComboBox1.LinkedCell = "a3"
End Sub
Private Sub ComboBox1_Change()
Dim Celda As Range
Me.ComboBox2.Clear
With Worksheets("Hoja2")
For Each Celda In .Range(.Range("a2"), .Range("a65536").End(xlUp))
If Celda = Me.ComboBox1 Then Me.ComboBox2.AddItem Celda.Offset(, 1)
Next
End With
Me.ComboBox2.LinkedCell = "b3"
SendKeys "{Esc}"
End Sub
Private Sub ComboBox2_Change()
SendKeys "{Esc}"
End Sub

Preguntas similares