VBA [Excel] Recuperar el dato de un listbox en una fórmula

Resuelto
Alya -  
 Alya -
Hola,

Estoy trabajando en Excel 2013 y necesito ayuda.
Tengo una lista mezclada de cuatro deportes en la columna A y me gustaría poder seleccionar uno en el listbox de un userform (sin tener que escribirlo en una celda) y un msgbox me dirá cuántas veces aparece ese deporte en la columna A.
Y, de forma secundaria, también me gustaría saber si se pueden integrar las opciones del listbox en el código sin tener que escribirlas en las celdas de la hoja.
He intentado con el código
Private Sub CommandButton1_Click()
Elección = ListBox1.Value
prueba = WorksheetFunction.CountIf(Range("A1:A10"), Elección)
MsgBox prueba
End Sub

pero he encontrado un mensaje de error, aquí está el enlace del archivo: https://www.cjoint.com/c/JAwoqszGndC
¿Tendría alguna solución que proponerte?

¡Muchas gracias!

1 respuesta

  1. Moxx
     
    Hola Alya,

    He reemplazado tu ListBox por un ComboBox y funciona con el siguiente código:

    Private Sub CommandButton1_Click()

    Elección = ComboBox1.Value
    prueba = WorksheetFunction.CountIf(Range("A1:A10"), Elección)
    MsgBox prueba

    End Sub


    Por otro lado, para integrar las opciones de tu ComboBox en el código, borra lo que has puesto en la propiedad de la ComboBox en RowSource, y añade el siguiente código:
    Private Sub UserForm_Initialize()

    UserForm1.ComboBox1.List = Array("", "Judo", "Kárate", "Kick boxing", "Lucha", "Taekwondo")

    End Sub


    ¡Disfruta!
    1
    1. Alya
       
      ¡Genial, funciona!

      ¡Gracias!
      0