Excel 2010: ¿cómo se borra un control desplegable RibbonX?

Excel 2010: ¿cómo se borra un control desplegable RibbonX?

Estoy luchando para borrar una selección desplegable a través del código VBA en Excel 2010. La razón por la que quiero hacer esto es porque el evento onAction no se activa si hace clic en el mismo elemento consecutivamente sin cambiar primero a otro elemento.

Investigué un poco y leí que el método InvalidateControl borra el valor almacenado en caché de un control. Así que lo implementé y...

Sub getUIHandle(ribbon As Office.IRibbonUI)
    Set MyRibbon = ribbon
End Sub
----
Sub LabelCallback(control As IRibbonControl, id As String, index As Integer)

    Select Case id
        Case "CH1"
            ' take some action
        Case "CH2"
            ' take some action
        Case "CH3"
            ' take some action
        Case "CH4"
            ' take some action
    End Select

MyRibbon.InvalidateControl (control.id)
End Sub

He rastreado las llamadas y sé que se está llamando a mi sub getUIHandle y que se está llamando a la llamada InvalidateControl. Simplemente no invalida el control :)

¿Existe algún método que borre el valor seleccionado actualmente de un control desplegable RibbonX?

EDITAR:

Refactoricé el código y cambié la subrutina LabelCallback para establecer una variable de estado, y tengo un botón separado en la cinta que activa las rutinas de "tomar alguna acción" para solucionar este problema. Poco elegante en mi opinión. (¿Me atrevo a decir torpe?) Tiene mucho más sentido realizar la acción cuando se selecciona el elemento dropBox, y funcionaría muy bien si el evento se activara independientemente del elemento seleccionado.

información relacionada