Excel/VBA - Rellenar ComboBox con valores

Resuelto
RussellD Mensajes publicados 60 Estado Miembro -  
RussellD Mensajes publicados 60 Estado Miembro -
Hola a todos,

Tengo en mi hoja de Excel 2003 un ComboBox (creado a través del modo Diseño, y no una lista desplegable creada por Datos/Validación). Me gustaría que cuando abra mi hoja de Excel, se "cargue" con los valores de un rango de celdas (ejemplo rango (Q1:Q4)).
No logro hacerlo, he intentado (en VBA):

Private Sub WorkBook_Open() ComboBox1.RowSource = Sheets("Feuil1").Range("Q1:Q4").Value End sub


esto no funciona.. Intenté quitando los "", quitando el .Value, en fin he estado probando con esta sintaxis sin lograr mis objetivos. Siguiendo una sugerencia en otro foro, probé esto:

Private Sub WorkBook_Open() ComboBox1.List = Sheets("Déperditions").Range("Q1:Q4").Value End Sub


Pero no funciona, me muestra el error "Objeto Requerido". ¿Alguien tiene alguna idea para resolver este problema?

Gracias de antemano por sus respuestas,

Cordiales saludos

6 respuestas

  1. RussellD Mensajes publicados 60 Estado Miembro 7
     
    Hola pijaku,

    muchas gracias, tu truco funciona perfectamente. Sin embargo, tengo un nuevo problema: los valores se almacenan bien en el ComboBox, pero cuando hago clic en él no se muestran en el mismo... ¿Está relacionado con el evento utilizado?
    5
    1. pijaku Mensajes publicados 13513 Fecha de registro   Estado Moderador Última intervención   2 773
       
      Sí, es normal. Disculpa. Utiliza el evento: BeforeDropOrPaste
      Private Sub ComboBox1_BeforeDropOrPaste(ByVal Cancel As MSForms.ReturnBoolean, ByVal Action As MSForms.fmAction, ByVal Data As MSForms.DataObject, ByVal X As Single, ByVal Y As Single, ByVal Effect As MSForms.ReturnEffect, ByVal Shift As Integer) ComboBox1.Clear Dim i As Integer For i = 1 To 6 ComboBox1.AddItem Cells(i, 8) Next i End Sub
      0
    2. RussellD Mensajes publicados 60 Estado Miembro 7
       
      Re

      No funciona, los valores ni siquiera se listan en el combobox.. ¿Qué es exactamente el evento BeforeDropAndPaste?
      0