Ordenar datos en un combo

24/10/2005 - 17:45 por cuejorge2003 | Informe spam
Buen día,

Tengo un combo al cual se le agregan los datos de una columna y
funciona perfectamente.

Ahora, me gustaría que los datos aparecieran ordenados... se puede ?
Anexo código que utilizo.


Dim Celda As Range, Listado As New Collection, Sig As Integer
Dim Origen As Object
Set Origen = Worksheets("INTERF").Cells(1, 7).Resize _
(Worksheets("INTERF").Cells(1, 7).CurrentRegion.Rows.Count -
1).Offset(1, 0)
For Each Celda In Origen.SpecialCells(xlCellTypeVisible)
On Error Resume Next
Listado.Add Celda, CStr(Celda)
Next
UserForm2.ComboBox1.Clear
For Sig = 1 To Listado.Count
Listado.Item (Sig)
UserForm2.ComboBox1.AddItem Listado.Item(Sig)
Next


De antemano, gracias.
Un saludo.
Jorge

Preguntas similare

Leer las respuestas

#1 cuejorge2003
25/10/2005 - 16:42 | Informe spam
Hector Miguel, KL, Fernando,

Alguien me puede, por favor, ayudar ??
De antemano, gracias.
Un saludo.

"" wrote:

Buen día,

Les pido de la manera mas atenta me apoyen al respecto.

Requiero que los datos que aparescan en un ComboBox sean ordenados sin
alterar la base de datos.

De antemano, gracias.
Un saludo.
Jorge


ha escrito:

> Buen día,
>
> Tengo un combo al cual se le agregan los datos de una columna y
> funciona perfectamente.
>
> Ahora, me gustaría que los datos aparecieran ordenados... se puede ?
> Anexo código que utilizo.
>
>
> Dim Celda As Range, Listado As New Collection, Sig As Integer
> Dim Origen As Object
> Set Origen = Worksheets("INTERF").Cells(1, 7).Resize _
> (Worksheets("INTERF").Cells(1, 7).CurrentRegion.Rows.Count -
> 1).Offset(1, 0)
> For Each Celda In Origen.SpecialCells(xlCellTypeVisible)
> On Error Resume Next
> Listado.Add Celda, CStr(Celda)
> Next
> UserForm2.ComboBox1.Clear
> For Sig = 1 To Listado.Count
> Listado.Item (Sig)
> UserForm2.ComboBox1.AddItem Listado.Item(Sig)
> Next
>
>
> De antemano, gracias.
> Un saludo.
> Jorge


Respuesta Responder a este mensaje
#2 cuejorge2003
25/10/2005 - 16:46 | Informe spam
Les pido de la manera mas atenta me apoyen con este proyecto.
Un saludo.
Jorge.

"" wrote:

Buen día,

Les pido de la manera mas atenta me apoyen al respecto.

Requiero que los datos que aparescan en un ComboBox sean ordenados sin
alterar la base de datos.

De antemano, gracias.
Un saludo.
Jorge


ha escrito:

> Buen día,
>
> Tengo un combo al cual se le agregan los datos de una columna y
> funciona perfectamente.
>
> Ahora, me gustaría que los datos aparecieran ordenados... se puede ?
> Anexo código que utilizo.
>
>
> Dim Celda As Range, Listado As New Collection, Sig As Integer
> Dim Origen As Object
> Set Origen = Worksheets("INTERF").Cells(1, 7).Resize _
> (Worksheets("INTERF").Cells(1, 7).CurrentRegion.Rows.Count -
> 1).Offset(1, 0)
> For Each Celda In Origen.SpecialCells(xlCellTypeVisible)
> On Error Resume Next
> Listado.Add Celda, CStr(Celda)
> Next
> UserForm2.ComboBox1.Clear
> For Sig = 1 To Listado.Count
> Listado.Item (Sig)
> UserForm2.ComboBox1.AddItem Listado.Item(Sig)
> Next
>
>
> De antemano, gracias.
> Un saludo.
> Jorge


Respuesta Responder a este mensaje
#3 Juan
25/10/2005 - 17:14 | Informe spam
hola jorge

mira a ver si la respuesta que dio hector a una consulta de ordenar un
combox

http://tinyurl.com/c3du7

si no es exactamente lo que quieres, puedes utilizar metodos tradicionales
de ordenacion como el burbuja o quicksort para ordenar tu vector una vez lo
tengas en memoria, o utilizar el metodo sort de excel para rangos, que como
no quieres midificar tu tabla de datos puedes copiar a otra, hoja y allli
realizar la ordenacion

un saludo
juan
Respuesta Responder a este mensaje
#4 Hernandez, Roberto
25/10/2005 - 17:22 | Informe spam
Cue:
Y por que no almacenas los datos en una columna, agregas los nuevos a la
misma, los ordenas y luego los cargas?
Es decir, en cada nueva inserción, los bajas a XL, los ordenas y los vuelves
a cargar?

escribió en el mensaje
news:
Buen día,

Tengo un combo al cual se le agregan los datos de una columna y
funciona perfectamente.

Ahora, me gustaría que los datos aparecieran ordenados... se puede ?
Anexo código que utilizo.


Dim Celda As Range, Listado As New Collection, Sig As Integer
Dim Origen As Object
Set Origen = Worksheets("INTERF").Cells(1, 7).Resize _
(Worksheets("INTERF").Cells(1, 7).CurrentRegion.Rows.Count -
1).Offset(1, 0)
For Each Celda In Origen.SpecialCells(xlCellTypeVisible)
On Error Resume Next
Listado.Add Celda, CStr(Celda)
Next
UserForm2.ComboBox1.Clear
For Sig = 1 To Listado.Count
Listado.Item (Sig)
UserForm2.ComboBox1.AddItem Listado.Item(Sig)
Next


De antemano, gracias.
Un saludo.
Jorge
Respuesta Responder a este mensaje
#5 cuejorge2003
25/10/2005 - 17:26 | Informe spam
Juan,

Me puedes, por favor, pasar la forma de hacerlo con burbuja o quicksort
??

Muchas gracias por tu apoyo.
Un saludo.
Jorge


Juan ha escrito:

hola jorge

mira a ver si la respuesta que dio hector a una consulta de ordenar un
combox

http://tinyurl.com/c3du7

si no es exactamente lo que quieres, puedes utilizar metodos tradicionales
de ordenacion como el burbuja o quicksort para ordenar tu vector una vez lo
tengas en memoria, o utilizar el metodo sort de excel para rangos, que como
no quieres midificar tu tabla de datos puedes copiar a otra, hoja y allli
realizar la ordenacion

un saludo
juan
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida