Lista desplegable sin espacios vacíos

Tengo una lista desplegable que he hecho con validación y esta conectada a otra hoja a través de una lista con un nombre que le asigne, pero mi problema es que la lista tiene valores y celdas vacías que luego serán completadas a medida que llega la informacion; mi pregunta es, como es posible que en la lista desplegable no aparezcan los espacios vacíos que aun no se completan y como es posible de ordenar de menor a mayor dicha lista, porque hasta el momento me aparece tal cual la escribo en la lista, eso es desordenada, según llega la informacion; gracias de antemano por la ayuda, atentamente. Christian

1 respuesta

Respuesta
1
Se puede hacer, pero no deberías tener espacios en blanco y luego datos, es decir puede ser una lista que se va incrementando.
Suponoendo que la validación esta en hoja y y tu listado en hoja2 puedes reocrrer el listado y definir el rango que tiene datos. Luego se modifica la lista, se ordena y regresa a la hoja1.
Esto se puede hacer asignándole una macro luego de agregar los valores una macro al abrir el archivo.
Te dejo la macre al abrir el archivo
Sub Workbook_Open()
'-------------recorrer la culumna A para identificar el largo del rango-----------------
i = 1
Do While Sheets("hoja2").Cells(i, 1) <> ""
If Sheets("datos").Cells(i, 1) = "" Then Exit Do ' cuando la celda sea vacia saldra y tendremos la ultima fila con datos
i = i + 1
Loop
'ahora sabemos el rango del listado y modificaremos la lista
Sheets("Hoja2").Select
rangovariable = Range("a1:a" & i).Select
ActiveWorkbook.Names.Add Name:="lista1", RefersTo:="=VACACIONES!" & rangovariable
'--------ordena el rango------------------------------------
Range("a1:a" & i).Select
Selection.Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortTextAsNumbers
'-----regresamos a hoja1.--------------------
Sheets("Hoja1").Select
Range("a1").Select
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas