El valor de la celda de control del formulario desplegable de Excel no se actualiza cuando la lista cambia

0

Tengo una hoja de trabajo con Combobox Form Controls (desplegables) incrustados para los cuales el Rango de entrada es un rango dinámico denominado (no el menú desplegable de validación).

Cuando cambia el rango, los valores listados en el menú desplegable se modifican en consecuencia, pero el valor de la celda vinculada no se actualiza incluso si se modifica el valor mostrado en el menú desplegable.

El libro de trabajo debe estar libre de macros, por lo que no puedo usar VBA para forzar una actualización del valor de la celda.

Mi búsqueda en Internet parece indicar que es imposible, pero podría haber perdido algo.


Editar:

No hay contenido externo en el libro de trabajo ni enlaces, por lo que actualizar el enlace externo no ayuda.

Los rangos dinámicos nombrados son todos internos, por ejemplo, un rango nombrado (Choice_List) puede referirse a =OFFSET(Test!$A$2:$A$11;0;0;Test!$B$2).

Cuando la celda Test!$B$2 cambiar la lista que se muestra, cambiar en consecuencia, pero si la nueva lista contiene menos elementos que el índice del elemento seleccionado actualmente, el desplegable mostrará el último elemento de la lista y el valor de la celda vinculada no cambiará.

Configuraciones:

Elección inicial:

Después de cambiar el número máximo de elementos:

Vincent G
fuente
Guarde su libro de trabajo como macro habilitado & amp; Utilice el código VBA para actualizar enlaces, simple !!
Rajesh S
2
Bueno, como dije, mi libro de trabajo debería estar libre de macros.
Vincent G
¿La celda vinculada necesita moverse a medida que cambia el rango de entrada?
Mark Fitzgerald
@VincentG, sí, sé que estás tratando de evitar Macro, pero en tu caso usar una Macro debería ser un acierto. Este simple código VBA resolverá tu problema ActiveWorkbook.RefreshAll !!
Rajesh S
@MarkFitzgerald No, la celda vinculada no necesita moverse (bueno, tenerlo en movimiento causaría otros problemas)
Vincent G

Respuestas:

1

Hice un poco de investigación y esto se parece a otro error de Micro $ oft.

El valor interno almacenado en el objeto DropDown correspondiente a ComboBox cambia a 2, pero la celda vinculada no se actualiza con el nuevo valor.

Aparentemente, esto se debe a que ni el usuario ni el código de VBA cambiaron el valor, pero sucedió como resultado de una "corrección" (¡por Excel mismo!) Requerida para devolver el valor a un rango válido después de que la lista se haya reducido.

Nada de lo que intenté podía forzar una actualización, ni siquiera manualmente (aparte de seleccionar un valor diferente de ComboBox, por supuesto).

los solamente La solución es usar VBA. La mejor opción podría ser crear un complemento que contenga el código. De esa manera el libro de trabajo en sí no contiene la macro.

robinCTS
fuente
Sí, eso es lo que temía ...
Vincent G
@VincentG Acabo de aclarar la posible solución. ¿Instalar un complemento es una opción aceptable?
robinCTS
No realmente, se espera que el libro de trabajo se distribuya en compañías donde las ejecuciones de código son muy restringidas.
Vincent G
@VincentG La única otra opción que se me ocurre es tener una fórmula que verifique la validez del valor en la celda vinculada. ¿Cómo estás usando el valor?
robinCTS
Sí, al menos podré mostrar una advertencia para el usuario, pero a veces la lista de opciones se reduce a solo una opción, y luego el usuario ni siquiera puede seleccionar la opción actualmente mostrada:
Vincent G