DUVIDA NO VBA EXCEL
Como faço para que uma combo box de um formulário mostre os itens de acordo com o item selecionado na combo box anterior?? exemplo:se na primeira combo box eu selecionar o item [Ô]1[Ô],eu quero que na segunda combo box só apareçam os itens [Ô]a[Ô], [Ô]b[Ô] e [Ô]c[Ô] para seleção. Se eu selecionar o item [Ô]2[Ô], na segunda apareçam os itens [Ô]d[Ô], [Ô]e[Ô], e [Ô]f[Ô]. Obrigado!!!!
Só colocar no evento GotFocus
combobox1.clear
if combobox1=I then
comobox2.additem [Ô]a[Ô]
comobox2.additem [Ô]b[Ô]
comobox2.additem [Ô]c[Ô]
elseif combobox1=[Ô]J[Ô] then
comobox2.additem [Ô]d[Ô]
comobox2.additem [Ô]f[Ô]
comobox2.additem [Ô]g[Ô]
endif
combobox1.clear
if combobox1=I then
comobox2.additem [Ô]a[Ô]
comobox2.additem [Ô]b[Ô]
comobox2.additem [Ô]c[Ô]
elseif combobox1=[Ô]J[Ô] then
comobox2.additem [Ô]d[Ô]
comobox2.additem [Ô]f[Ô]
comobox2.additem [Ô]g[Ô]
endif
Cara, outra forma interessante de se fazer seria:
[txt-color=#0000f0]Private Sub[/txt-color] Form_Load()
Combo1.AddItem [Ô]1[Ô]
Combo1.AddItem [Ô]2[Ô]
[txt-color=#0000f0]End Sub[/txt-color]
[txt-color=#0000f0]Private Sub [/txt-color]Combo1_Click()
[txt-color=#0000f0]Select Case [/txt-color]Combo1.Text
[txt-color=#0000f0] Case [/txt-color]1
Combo2.Clear
Combo2.AddItem [Ô]a[Ô]
Combo2.AddItem [Ô]b[Ô]
Combo2.AddItem [Ô]c[Ô]
Combo2.ListIndex = 0
[txt-color=#0000f0]Case[/txt-color] 2
Combo2.Clear
Combo2.AddItem [Ô]d[Ô]
Combo2.AddItem [Ô]e[Ô]
Combo2.AddItem [Ô]f[Ô]
Combo2.ListIndex = 0
[txt-color=#0000f0]End Select
End Sub[/txt-color]
Se você estiver falando de Banco de Dados, é só trocar as letras (a,b,c,d,e,f) pela sua string de conexão.
Em VBA, no caso do Excel, para se referenciar a uma célula, por exemplo:
Combo2.AddItem Sheets([Ô]Plan1[Ô]).Cells([Ô]A1[Ô]).value [txt-color=#007100][ô]Ou sua string de conexão com o excel[/txt-color]
espero ter ajudado.
[txt-color=#0000f0]Private Sub[/txt-color] Form_Load()
Combo1.AddItem [Ô]1[Ô]
Combo1.AddItem [Ô]2[Ô]
[txt-color=#0000f0]End Sub[/txt-color]
[txt-color=#0000f0]Private Sub [/txt-color]Combo1_Click()
[txt-color=#0000f0]Select Case [/txt-color]Combo1.Text
[txt-color=#0000f0] Case [/txt-color]1
Combo2.Clear
Combo2.AddItem [Ô]a[Ô]
Combo2.AddItem [Ô]b[Ô]
Combo2.AddItem [Ô]c[Ô]
Combo2.ListIndex = 0
[txt-color=#0000f0]Case[/txt-color] 2
Combo2.Clear
Combo2.AddItem [Ô]d[Ô]
Combo2.AddItem [Ô]e[Ô]
Combo2.AddItem [Ô]f[Ô]
Combo2.ListIndex = 0
[txt-color=#0000f0]End Select
End Sub[/txt-color]
Se você estiver falando de Banco de Dados, é só trocar as letras (a,b,c,d,e,f) pela sua string de conexão.
Em VBA, no caso do Excel, para se referenciar a uma célula, por exemplo:
Combo2.AddItem Sheets([Ô]Plan1[Ô]).Cells([Ô]A1[Ô]).value [txt-color=#007100][ô]Ou sua string de conexão com o excel[/txt-color]
espero ter ajudado.
Tópico encerrado , respostas não são mais permitidas