none
Problemas listbox office 2007 RRS feed

  • Pergunta

  • Boa tarde pessoal,

    Estou com um problema e gostaria da ajuda de vocês. Tenho um documento que carrega uma listbox (vamos chamá-la de lstA) em um primeiro momento desabilitada, até ai tudo funciona sem problemas. Quando o usuário seleciona um item em uma outra listbox a lstA é habilitada e o usuário poderá selecionar vários itens dessa list.
    O problema acontece nesse ponto, qdo a lstA é habilitada o usuário seleciona algum dos itens dela e utilizar o scroll do mouse, o Excel simplesmente exibe uma mensagem dizendo que encontrou um erro e precisa ser fechado. Se o usuário selecionar aquela outra list a lstA é habilitada e nenhum item for selecionado, ele tirar o foco da listA, e utilizar o scroll, não acontece nenhum problema.

    Detalhe: O problema ocorre para o Office 2007 e a listA possui um scrollbar na vertical.

    Vlw galera!

    quinta-feira, 13 de agosto de 2009 21:43

Respostas

  • Bom dia.

    Se eu entendi direito, você tem 2 list box, vamos supor aqui lstA e lstB, quando vc inicializa o arquivo, as 2 lst's são carregadas com valores, entretando a lstB fica desabilitada, e quando vc clica sobre alguma opção da lstA, então a lstB fica habilitada e vc pode escolher valores que quiser.

    Bem, se é isso.... tente


    ' Neste caso eu criei um botão que carrega as duas lst's com valores da coluna A da plan1 e torna a lstB desabilitada.

    Private Sub CommandButton1_Click()

    lstB.Enabled = False

    i = 1

    Do While Plan1.Range("A" & i) <> ""

        lstA.AddItem Plan1.Range("A" & i).Value

    i = i + 1

    Loop

     

    i = 1

    Do While Plan1.Range("A" & i) <> ""

        lstB.AddItem Plan1.Range("A" & i).Value

    i = i + 1

    Loop


    End Sub


    ' Após os valores carregados, é só utilizar o evento Click na caixa lstA para que quando vc clicar sobre qualquer item dela, então a lstB será habilitada.

    Private Sub lstA_Click()

    lstB.Enabled = True

    End Sub


    Pelo que entendi na sua dúvida é isso...

    Se for, adapte-o ao que vc está fazendo, caso contrário estamos aí.

    Abs,

    Alberto


    Abraços! Alberto
    segunda-feira, 17 de agosto de 2009 15:14