Ir para conteúdo
Fórum Script Brasil
  • 0

Combobox - Tem Como Atribuir Uma Função Para Todos


[ GuTo ]

Pergunta

Fala pessoal, beleza?

Estava fazendo para cada combobox uma função que não deixava ele escrever nada, somente selecionar uma das opções.

Private Sun cbEstados_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    KeyAscii = 0
End Sub

Pensei: porque sempre fazer para cada combobox isso? Deve haver uma maneira de fazer isso para todos de uma vez.

Tentei fazendo "ComboBox_KeyPres(" para ser genérico, mas não rolou (Me baseando naquela UserForm_Activatem, pensei nisso).

Desde já agradeço a ajuda.

Usando VBA no Excel 2007

Editado por [ GuTo ]
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

_________________

OOOOOUTRA COISA...

_________________

Gostaria de adicionar um evento onClick em todos os controles do tipo CheckBox, para qualquer formulário, para que executem uma ação.

Tenho mania de criar coisas genéricas e neste caso é muito bem-vindo isto, pois será feito exatamente o mesmo procedimento em todos os formulários desta "pasta de trabalho" (meuTeste.xls). Seria um tanto quanto contra-produtivo criar a mesma função para cada formulário/CheckBox, sendo que em cada uma apenas iria mudar um parametro somente.

Minha idéia é: Criar uma função onde passo o formulário por parametro. Dentro desta, ela varre todo o userForm a procura de controles CheckBoxes e em cada um deles ela adiciona um evento "click" (onClick) no mesmo.

Logo, crio uma função CheckBoxClicado(oCheckBox) que recebe como parametro o objeto checkbox que foi clicado e executa a ação que deve ser feita e consegue identificar o form a qual ele pertence e seta um valor no primeiro campo texto do form.

Com JAVASCRIPT saberia fazer isso mole mole.

Agora com VBA, parece não ter como.

Se alguém tiver uma idéia, agradeço.

Valeu.

Mais ou menos assim queria fazer:

Public Sub CheckBoxClicou(oCB As CheckBox)
    'Identificar propriedades do checkbox
    'Identificar o objeto userForm pai do checkbox
End Sub

Public Sub habilitaContagem(oFrm As UserForm)
    Dim x As Control
    For Each x In oFrm.Controls
        If TypeName(x) = "CheckBox" Then
            '#################
            'Aqui adicionar o evento _Click ao objeto checkBox que está sendo lido (vamos ler todos do form)
            '#################
        End If
    Next
End Sub

Private Sub UserForm_Initialize()
    Call habilitaContagem(Me)
End Sub

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...