Excel, listas desplegables

6

Cuando creé listas desplegables personalizadas en Excel, mis hojas de Excel no se reducen a una lista más pequeña cuando empiezo a escribir en la celda de la lista desplegable.

Por ejemplo, si mi lista desplegable es para Estados de EE. UU. [AL ... WY] y escribo el carácter 'N', ¿por qué mi lista no me ofrece un subconjunto de opciones [... NY ... NJ. ..]. ¿Se puede hacer un subconjunto de autocompletar?

Nota: Creé mis listas desplegables de Excel así: http://danielk.org/blog/2009/09/22/excel/

Daniel
fuente
¿Qué tipo de menú desplegable?
dkusleika

Respuestas:

3

Eso es porque no es así como funciona la validación de datos en Excel. Necesitas usar un control X activo. Referirse a Página de validación de datos de contextos. en general y ella Validación de datos ComboBox y ComboBox Depend ejemplos en particular.

Actualizar

Si utiliza sus ejemplos, reemplace el controlador de eventos TempCombo_KeyDown con TempCombo_KeyUp. Al menos en mi excel (excel 2003 SP2) se bloquea.

Más detalles sangrientos sobre el ejemplo que te señalé:

No estoy seguro de por qué cambiar TempCombo_KeyDown a TempCombo_KeyUp funciona, pero puede estar relacionado con KeyCode. MSDN implica que KeyCode es en realidad un puntero y es para todos los propósitos prácticos que pasa la referencia, a pesar de que la firma dice ByVal. El bloqueo siempre ocurre en la línea End Sub de TempCombo_KeyDown.

Esto es solo adivinar por mi parte, pero al procesar el evento KeyDown, después de activar la nueva celda, si tiene TempCombo, entonces el objeto se activa & amp; Puede procesar el evento KeyUp. Si la celda objetivo no activa TempCombo, el evento KeyUp no tiene una referencia de objeto válida y se produce una falla desagradable.

DaveParillo
fuente
1
¡Wow MS hace esto complejo, realmente deberían hacerlo más fácil en su próxima versión de Excel!
Daniel