CONSTRUINDO UM EVENTO CHANGE DE UM COMBOBOX
Pessoal, bom dia.
Tenho um formulário no qual eu construo todos os combos através do comando [Ô]CONTROLS[Ô] e.x Frm_MeuForm.controls([Ô]Combo1[Ô])
Minha pergunta como que eu construo um evento [Ô]change[Ô] da combo onde conforme eu for adicionando os combos ele atribua o evento change ao combo criado.
Obrigado pela atenção !
Att
Gustavo Abud.
Tenho um formulário no qual eu construo todos os combos através do comando [Ô]CONTROLS[Ô] e.x Frm_MeuForm.controls([Ô]Combo1[Ô])
Minha pergunta como que eu construo um evento [Ô]change[Ô] da combo onde conforme eu for adicionando os combos ele atribua o evento change ao combo criado.
Obrigado pela atenção !
Att
Gustavo Abud.
no general do form declare o combo como withevents assim
Private WithEvents Combo1 As ComboBox
depois inclua o combo no form, abaixo fiz da minha maneira mas utilize a sua
e agora é so fazer o evento change
Private WithEvents Combo1 As ComboBox
depois inclua o combo no form, abaixo fiz da minha maneira mas utilize a sua
Private Sub Command1_Click()
[ô] aqui adiciono a combo
Set Combo1 = Form1.Controls.Add([Ô]VB.ComboBox[Ô], [Ô]Combo[Ô])
With Combo1
.Top = 100
.Left = 100
.AddItem [Ô]linha 1[Ô]
.AddItem [Ô]Linha 2[Ô]
.AddItem [Ô]linha 3[Ô]
.Visible = True
End With
End Sub
e agora é so fazer o evento change
Private Sub Combo1_Change()
MsgBox [Ô]teste do change[Ô]
End Sub
Marcelo, primeiramente obrigado !
Mas o que eu precisava é deixar isso dinamico:
Private Sub Combo1_Change()
MsgBox [Ô]teste do change[Ô]
End Sub
Por exemplo, se o usuário inserir 10 combobox, como eu posso criar 10 eventos change dinamicamente ?
é como se eu coloca-se uma variável no lugar do número 1, exemplo :
[Ô]Private Sub Combo[Ô]& i [Ô]_Change()[Ô]
MsgBox [Ô]teste do change[Ô]
End Sub
Tem como ?
vlw !
Mas o que eu precisava é deixar isso dinamico:
Private Sub Combo1_Change()
MsgBox [Ô]teste do change[Ô]
End Sub
Por exemplo, se o usuário inserir 10 combobox, como eu posso criar 10 eventos change dinamicamente ?
é como se eu coloca-se uma variável no lugar do número 1, exemplo :
[Ô]Private Sub Combo[Ô]& i [Ô]_Change()[Ô]
MsgBox [Ô]teste do change[Ô]
End Sub
Tem como ?
vlw !
posso dar uma dica pra agilizar seu processo.
adicione um combobox como o nome que desejar, nele coloque tudo o que deseja, na propriedade index coloque 0 (zero) e visible = false
agora vem a parte de criar os demais combos dinamicamente porém de outra maneira, veja
primeiro declare uma variavel para criar os numeros da combo
agora criando as combos
a vantagem desta maneira é a seguinte, você vai precisar de um unico evento que identificara qual combo foi clicado pelo index do mesmo veja
qualquer duvida pergunte
adicione um combobox como o nome que desejar, nele coloque tudo o que deseja, na propriedade index coloque 0 (zero) e visible = false
agora vem a parte de criar os demais combos dinamicamente porém de outra maneira, veja
primeiro declare uma variavel para criar os numeros da combo
Dim Cont As Integer
agora criando as combos
Private Sub Command1_Click()
Cont = Cont + 1
Load Combo1(Cont)
Combo1(Cont).Top = Combo1(Cont).Top
Combo1(Cont).Left = Combo1(Cont - 1).Left + 1000
Combo1(Cont).Visible = True
End Sub
a vantagem desta maneira é a seguinte, você vai precisar de um unico evento que identificara qual combo foi clicado pelo index do mesmo veja
Private Sub Combo1_Change(Index As Integer)
MsgBox [Ô] este é o combo [Ô] & Index
End Sub
qualquer duvida pergunte
Marcelo, onde eu coloco o index ? é um propriedade do combo VBA ?
caramba colega ai complica vba nao tem como fazer isso, deixa eu pensar em algo e ja te digo
O Marcelo foi mal velho, mas cara aquele seu primeiro post funciona, logo se você ver que não vai rolar eu vou usar ele mesmo.
Mais uma vez peço desculpas !!
Mais uma vez peço desculpas !!
Tópico encerrado , respostas não são mais permitidas