locked
Option Button RRS feed

  • Pergunta

  • Estou criando um aplicativo com o VBA do Excel 2003.

    Tenho um UserForm com dois grupos de OptionButton. Tenho duas caixas de texto que serão habilitadas para edição dependendo de qual optionbutton estiver marcado como true. Quero identificar esse optionbutton usando o For Each, mas não estou sabendo fazer. Pergunto:

    1º) Posso ter, por exemplo, cinco optionbutton no mesmo grupo, com o mesmo Name e identificá-los apenas pelo índice? Se posso, como faço isso? Toda vez que tento dar o mesmo nome o VBA acusa erro.

    2º) Se cada optionbutton precisa necessariamente ter um nome diferenciado dos demais, como usar o For Each para identificar aquele que está marcado como true?

    grato pela atenção!

    Luiz Roberto

    terça-feira, 24 de fevereiro de 2009 17:36

Todas as Respostas

  • Olá Luiz...
    No option do vba não existe a propriedade index para identificá-los...
    Para saber qual está marcado faça assim..

        Dim Ctl As Control  
        For Each Ctl In Me.Controls  
            If TypeName(Ctl) = "OptionButton" Then  
                If Ctl = True Then  
                    MsgBox Ctl.Name  
                End If  
            End If  
        Next 

    Percorre todos os controles do form, verificando qual deles é do tipo option e se está marcado, retornando o nome...
    Se solucionar marque como resposta..
    Até...
    quarta-feira, 25 de fevereiro de 2009 02:21