Excel - Rellenar cuadro combinado

   
Vista:

Rellenar cuadro combinado

Publicado por José (39 intervenciones) el 17/11/2013 01:37:20
Hola,
Tengo un formulario en el cual tengo un cuadro combinado (combobox).
Deseo rellenarlo con los datos de una columna cuyo encabezado es DISTANCE y como hay datos que se repiten deseo que me rellene el cuadro combinado solo con datos que no se repitan.
Para ello en el evento inizilize tengo un procedimiento que me debería de rellenar el cuadro combinado pero que no funciona.
Aqui os dejo el procedimiento para ver si podeis ayudarme.

Private Sub UserForm_Initialize()
On Error Resume Next
Dim AllCells As Range, Cell As Range, NoDupes As New Collection, Num As Long, Nc As Long
Sheets("PROMETEO").Activate
For Each Cell In Range("DISTANCE")
NoDupes.Add Cell.Value, CStr(Cell.Value)
Next Cell
On Error GoTo 0
For Each Item In NoDupes
SAISIE.DISTANCE.AddItem Item
Next Item
MsgBox NoDupes.Count
Nc = NoDupes.Count
For Num = 1 To Nc
NoDupes.Remove 1 ' Quita el primer objeto en cada bucle,hasta que no quedan objetos en la colección.
Next Num
'***************************Allocation
'For Each Cell In Range("ALLOCATION")
' NoDupes.Add Cell.Value, CStr(Cell.Value)
'Next Cell
'On Error GoTo 0
'For Each Item In NoDupes
' SAISIE.ALLOCATION.AddItem Item
'Next Item
'MsgBox NoDupes.Count
'Nc = NoDupes.Count
'For Num = 1 To Nc
' NoDupes.Remove 1 ' Quita el primer objeto en cada bucle,hasta que no quedan objetos en la colección.
'Next Num
'***************************Hippodrome
'For Each Cell In Range("HIPPODROME")
' NoDupes.Add Cell.Value, CStr(Cell.Value)
'Next Cell
'On Error GoTo 0
'For Each Item In NoDupes
' SAISIE.HIPPODROME.AddItem Item
'Next Item


End Sub

Saludos
José
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de JuanC

Rellenar cuadro combinado

Publicado por JuanC juanc2942@gmail.com (1054 intervenciones) el 17/11/2013 11:33:23
probá con

For i = 1 To NoDupes.Count
SAISIE.DISTANCE.AddItem NoDupes.Item(i)
Next

si no funciona deberías publicar el archivo...

Saludos, desde Baires, JuanC
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Rellenar cuadro combinado

Publicado por Cacho (44 intervenciones) el 17/11/2013 20:22:00
Hola! José (y Juan Carlos). Suponiendo que:

- Los datos que quieres considerar se encuentren en el rango A1:A20 de la hoja Hoja1 del libro activo,

- Y que en la celda A1 tienes el título de esa columna,

entonces el siguiente código cargará datos únicos en el ComboBox1 del UserForm1: ¡Espero te sirva!

Saludos, Cacho R.

1
2
3
4
5
6
7
8
9
10
Private Sub UserForm_Initialize()
With ActiveWorkbook.Sheets("Hoja1").Range("a1:a20")
  Workbooks.Add
  .AdvancedFilter 2, , ActiveSheet.[a1], True
End With
With ActiveSheet.[a1].CurrentRegion
  UserForm1.ComboBox1.List() = .Offset(1).Resize(.Count - 1).Value
End With
ActiveWorkbook.Close False
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Rellenar cuadro combinado

Publicado por José (39 intervenciones) el 18/11/2013 14:09:03
Hola,
gracias por la respuesta.
Me ha serviceo para hacer lo que quería.
Saludos
José
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar