Que los elementos del combobox aparezcan ordenados alfabéticamente???

10/02/2004 - 18:28 por angel | Informe spam
Tengo una lista definida desde Insert\Name\Define
(llamada RegistrosTabla) cuyos valores se ponen en tiempo
de ejecución por una macro de un programa de terceros que
me devuelve todos los registros de una tabla determinada.
(Que los elementos de la Lista "RegistrosTabla" sea
dinámica NO se si se puede hacer porque pueden ser que se
agreguen registros nuevos o se borren de la tabla yen ese
caso hoy la lista "RegistrosTabla" va de A1 a A30 pero
mañana puede ir de A1 a A50 . Es esto posible????)
En el caso que sea posible, este programa mediante una
macro me da los elementos de la tabla pero NO ordenados,
luego esta lista la asocio mediante el menú
Data\Validation y en la solapa Settings le pongo List y
en Source le asigno la lista "RegistrosTabla".
Es posible que en el combobox los elementos de la Lista
me aparezcan ordenados alfabéticamente???
 

Leer las respuestas

#1 Héctor Miguel
10/02/2004 - 20:07 | Informe spam
hola, angel !

... lista definida desde Insert\Name\Define (llamada RegistrosTabla)
... valores se ponen en tiempo de ejecucion por una macro
(Que los elementos de la Lista "RegistrosTabla" sea dinamica [...]
... hoy la lista "RegistrosTabla" va de A1 a A30 pero mañana puede ir de A1 a A50 [...]
... luego ... la asocio mediante ... Data\Validation ... Settings le pongo List y en Source le asigno la lista [...]
... que en el combobox los elementos de la Lista me aparezcan ordenados alfabeticamente???



1.- para que el rango definido con el nombre [RegistrosTabla] sea 'dinamico'...
al momento de 'definirlo' [indert / name / define] usa la siguiente formula [en el campo 'Refers to...']
=OffSet(a1,,,CountA(a:a)) => usa el mouse para 'seleccionar' la celda 'inicial' ['A1'] y la columna 'a contar' [A:A']
excel 'dejara' una formula que 'haga referencia' a la hoja y rango 'apropiados'
[p.e. =OFFSET(Sheet1!$A$1,,,COUNTA(Sheet1!$A:$A))
=> se supone que NO quedaran celdas vacias intermedias' <= OJO

2.- para los elemento del rango 'se carguen ordenados' en el combo de la validacion...
al final de la macro que los 'vuelca' agrega una instruccion que los ordene [p.e.]
[... despues de que termina el volcado de datos ...]
With Range("RegistrosTabla")
.Sort Key1:=.Cells(1), Order1:=xlAscending
End With
[... otras lineas del codigo ...]

saludos,
hector.

Preguntas similares