Problema con Combobox de Excel

Estoy haciendo un proyecto y en el mismo coloque un Combobox para buscar productos. El combobox funciona bien excepto cuando presiono la tecla "Abajo" o "flechita para abajo" y automáticamente se cierra el archivo excel y luego se vuelve abrir como "archivo recuperado".

Les dejo el enlace en donde se encuentra el archivo en cuestión, las hojas están protegidas pero no se requiere contraseña.

https://drive.google.com/file/d/1bRGx5J6Z83iLayoIRCstQy07Q4Gc-NWL/view?usp=sharing 

La verdad es que no se me ocurre alguna solución a este problema.

1 Respuesta

Respuesta
1

Prueba hacer todo en un nuevo libro.

Pon aquí el código que tengas.

Hola Dante, lo único que tengo relacionado al combo es esto:

Private Sub ComboBox3_Change()

ComboBox3.ListFillRange = "FormulaBuscador"
Me.ComboBox3.DropDown

End Sub

=====================================================
Private Sub ComboBox3_Click()

ComboBox3.Activate

End Sub

Sacando el .DropDown, puedo navegar utilizando keyup y keydown, pero pierdo la funcionalidad de que salga automáticamente la lista desplegable.

Ya probé tu código y me funciona bien.

Quita esta línea:

ComboBox3.ListFillRange = "FormulaBuscador"

En las propiedades del combo, busca la propiedad ListFillRange y ahí escribe FormulaBuscador

Perfecto!

Ahora, ya no se cierra el excel, ¿pero existe la posibilidad de que al navegar por la lista desplegable no se autocomplete el combobox?

Porque el contenido del ListFillRange se va acotando a medida que se va filtrando en el combobox, entonces al colocar solo la letra "a" y al presionar KeyDown se clava en el primer resultado.

El combobox esta linkeado a la celda Productos!H1 y el ListFillRange Comienza desde Productos!H9 hasta la ultima celda con valores.

Coloco "a" en el combo

Presiono KeyDown y se autocompleta el combo con el primer resultado.

La celda Productos!H1 dejo de estar vacía y el ListFillRange contiene el único valor encontrado.

Para que tengas una idea, esto lo hice con ayuda de esta guía:

http://elsabiodeexcel.blogspot.com/2015/07/lista-desplegable-con-sugerencia-de-busqueda.html?m=1

O sino, otra alternativa, seria poder utilizar el scroll y podes bajar o subir en la lista del combobox, pero solo se activa el scroll de la hoja activa.

Pero existe la posibilidad de que al navegar por la lista desplegable no se autocomplete el combobox

No entiendo eso. ¿A qué te refieres?

Revisa el siguiente código, para ver si es lo que necesitas.

Como autocompletar Combobox en vba

Me refiero a que el contenido del combobox no cambie a medida que se presione KeyDown o KeyUp.

Ejemplo, coloco "a" en el combobox y me da como resultado 5 valores:

1_alambre

2_ajo

3_arco

4_ave

5_aceite

Entonces al presionar por primera vez KeyDown, automáticamente el contenido del combobox paso de "a" a "alambre" y así sucesivamente a medida que se presiona la tecla.

Esto es lo que quiero evitar, porque el ListFillRange se va filtrando con valor contenido en el combobox.

¿Me explico?

Acabo de usar el código que dejaste en otra pregunta todoexpertos pero filtra solo las filas que contengan lo digitado al principio, por lo que si yo pongo "aceite" solo va a dar como resultado "aceite de almendras" y no me va a dar el otro resultado contenido en el listado "atún al aceite".

Yendo por otro camino, ¿Se podrá usar el scroll (ruedita del mouse) una vez que la lista del combobox este desplegada?

Perdón, no quiero ser una molestia.

Por lo que si yo pongo "aceite" solo va a dar como resultado "aceite de almendras" y no me va a dar el otro resultado contenido en el listado "atún al aceite".

Cambia esta línea:

If UCase(h2.Cells(i, col)) Like UCase(dato) & "*" Then

Por esta:

If UCase(h2.Cells(i, col)) Like "*" & UCase(dato) & "*" Then

También prueba, cambia en el combo la propiedad MatchEntry a : "2 - fmMatchEntryNone"


Creo aquí puedes encontrar cómo utilizar el scroll en un combobox acrivex

https://www.mrexcel.com/board/threads/how-to-make-a-drop-down-list-scroll.179113/

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas