Eu criei um pequeno UserForm de teste com apenas dois label´s, três optionbutton´s e um comandbutton. Os optionbutton´s não estão dentro de um frame e não fazem parte de um GroupName. Eu quero gerar uma mensagem ao clicar no botão de comando informando qual dos optionbutton´s está com sua propriedade value = true, ou seja, aquele que estiver selecionado.
Pois bem, me passaram aqui no fórum tempos atrás a seguinte instrução que eu coloquei no evento click do botão de comando:
Dim ctrl As Control
For Each ctrl In UserForm1.Controls
If TypeOf ctrl Is OptionButton Then
If ctrl.Value = True Then
MsgBox "bla, bla, bla...."
End If
End If
Next ctrl
Testei esta instrução tanto no Excel 2003 como no 2007 e simplesmente não funciona! Quando eu clico não aparece mensagem nenhuma. Fazendo a inspeção da variável eu observo que a variável ctrl é igual a verdadeiro quando chega na linha "If TypeOf ctrl Is OptionButton Then", ou seja, a instrução TypeOf não reconhece a variável ctrl como uma variável control do tipo OptionButton.
Eu preciso identificar apenas, dentro de um UserForm, os controles OptionButton´s e quando um deles for selecionado, uma determinada instrução será executada. Quero uma instrução sem precisar usar a propriedade GroupName.
Pergunta
Betocadilhe
Eu criei um pequeno UserForm de teste com apenas dois label´s, três optionbutton´s e um comandbutton. Os optionbutton´s não estão dentro de um frame e não fazem parte de um GroupName. Eu quero gerar uma mensagem ao clicar no botão de comando informando qual dos optionbutton´s está com sua propriedade value = true, ou seja, aquele que estiver selecionado.
Pois bem, me passaram aqui no fórum tempos atrás a seguinte instrução que eu coloquei no evento click do botão de comando:
Dim ctrl As Control
For Each ctrl In UserForm1.Controls
If TypeOf ctrl Is OptionButton Then
If ctrl.Value = True Then
MsgBox "bla, bla, bla...."
End If
End If
Next ctrl
Testei esta instrução tanto no Excel 2003 como no 2007 e simplesmente não funciona! Quando eu clico não aparece mensagem nenhuma. Fazendo a inspeção da variável eu observo que a variável ctrl é igual a verdadeiro quando chega na linha "If TypeOf ctrl Is OptionButton Then", ou seja, a instrução TypeOf não reconhece a variável ctrl como uma variável control do tipo OptionButton.
Eu preciso identificar apenas, dentro de um UserForm, os controles OptionButton´s e quando um deles for selecionado, uma determinada instrução será executada. Quero uma instrução sem precisar usar a propriedade GroupName.
Alguém poderia me ajudar?
Luiz Roberto
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.