Excel 2010 - como você limpa um controle suspenso RibbonX?

Excel 2010 - como você limpa um controle suspenso RibbonX?

Estou lutando para limpar uma seleção suspensa por meio do código VBA no Excel 2010. O motivo pelo qual quero fazer isso é porque o evento onAction não é acionado se você clicar no mesmo item consecutivamente sem mudar para outro item primeiro.

Fiz algumas pesquisas e li que o método InvalidateControl limpa o valor armazenado em cache de um controle. Então, eu implementei e...

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

Rastreei as chamadas e sei que meu sub getUIHandle está sendo chamado e que a chamada InvalidateControl está sendo chamada. Simplesmente não invalida o controle :)

Existe um método que limpa o valor atualmente selecionado de um controle dropDown RibbonX?

EDITAR:

Refatorei o código e alterei a sub-rotina LabelCallback para definir uma variável de estado e fiz com que um botão separado na faixa de opções acionasse as rotinas de 'executar algumas ações' para contornar isso. Deselegante na minha opinião. (Ouso dizer desajeitado?) Faz muito mais sentido executar a ação quando o item dropBox é selecionado e funcionaria perfeitamente se o evento fosse acionado independentemente de qual item estivesse selecionado.

informação relacionada