Escolar Documentos
Profissional Documentos
Cultura Documentos
http://www.tomasvasquez.com.br/blog/microsoft-office/vba-criando-combobox-encadeados
Outra dvida muito comum na comunidade VBA. ComboBox Encadeados quer dizer que em dois ou mais ComboBoxes, ao atualizar os dados de um ComboBox, os outros so afetados. Isso til quando os dados entre eles esto relacionados, o que quase sempre verdade. No exemplo deste post, a relao dos dados ser baseada na tradicional Produto e Categoria. A pasta de trabalho deve estar disposta em duas planilhas da seguinte forma:
1 de 12
22/3/2013 17:23
http://www.tomasvasquez.com.br/blog/microsoft-office/vba-criando-combobox-encadeados
preciso que os dados da coluna NomeDaCategoria na planilha de Produtos estejam compatveis com os da planlha Categorias, ou o filtro no funcionar. Aps isso, crie um UserForm com a seguinte cara:
Para que o cdigo funcione sem precisar alterar nada, nomeie os campos da seguinte forma: LabelCategorias ComboBoxCategorias LabelProdutos ComboBoxProdutos Em seguida, adicione o seguinte cdigo o formulrio:
2 de 12
22/3/2013 17:23
http://www.tomasvasquez.com.br/blog/microsoft-office/vba-criando-combobox-encadeados
Private Sub ComboBoxCategorias_Change() Call CarregaProdutos(Me.ComboBoxCategorias.List(Me.ComboBoxCategorias.ListIndex)) End Sub Private Sub UserForm_Initialize() Call CarregaCategorias End Sub Private Sub CarregaCategorias() Dim linha As Integer, coluna As Integer linha = 2 coluna = 1 Me.ComboBoxCategorias.Clear With Sheets("Categorias") Do While Not IsEmpty(.Cells(linha, coluna)) Me.ComboBoxCategorias.AddItem .Cells(linha, coluna).Value linha = linha + 1 Loop End With End Sub Private Sub CarregaProdutos(ByVal Categoria As String) Dim linha As Integer, colunaProduto As Integer, colunaCategoria As Integer linha = 2 colunaProduto = 1 colunaCategoria = 2 Me.ComboBoxProdutos.Clear With Sheets("Produtos") Do While Not IsEmpty(.Cells(linha, colunaProduto)) If .Cells(linha, colunaCategoria).Value = Categoria Then Me.ComboBoxProdutos.AddItem .Cells(linha, colunaProduto).Value End If linha = linha + 1 Loop End With End Sub
Execute o formulrio e selecione uma categoria no primeiro ComboBox. Veja que no ComboBox de produtos so mostrados apenas aqueles que pertecem categoria selecionada:
3 de 12
22/3/2013 17:23
http://www.tomasvasquez.com.br/blog/microsoft-office/vba-criando-combobox-encadeados
Obviamente existem vrias formas de fazer o mesmo trabalho. Invente a sua, ou, faa o download do exemplo no link abaixo: http://www.tomasvasquez.com.br/downloads/ComboBoxEncadeado.zip Bom proveito!
0 4
Profile
Voc precisa fazer o login para publicar um comentrio. 3 Replies 3 Comments 0 Tweets 0 Facebook 0 Pingbacks Last reply was 27 de junho de 2010
4 de 12
22/3/2013 17:23
http://www.tomasvasquez.com.br/blog/microsoft-office/vba-criando-combobox-encadeados
1.
bruno View 26 de fevereiro de 2010 Valeu! Muito bom o exemplo. Funcional e prtico.
2.
Robson Azevedo View 26 de junho de 2010 Como fao uma Planilha (Menu) com dois COMBOBOX, onde o primeiro Combobox navega pela Plan1 Plan2 e Plan3. Enquanto o segundo Combobox navega pela Plan4 Plan5 e Plan6. Algum tem algum exemplo? Tenho um exemplo que funciona somente o 1 Combobox, enquanto o segundo, no roda. EM ANEXO O EXEMPLO. (VBA/Excel) Grato,
3.
Toms Vsquez View 27 de junho de 2010 Robson, As possibilidades so muitas. Melhor discurtirmos no frum: http://www.tomasvasquez.com.br/forum Nos vemos l!
5 de 12
22/3/2013 17:23
http://www.tomasvasquez.com.br/blog/microsoft-office/vba-criando-combobox-encadeados
.NET Corrigindo o erro DataGridViewComboBoxCell Value is not Valid VBA Marcador de Linha e Coluna no Excel VBA Macro para exportar dados em XML no Excel VBA Login com Banco de Dados em Excel
6 de 12
22/3/2013 17:23
http://www.tomasvasquez.com.br/blog/microsoft-office/vba-criando-combobox-encadeados
Entrar
Login
Senha:
Lembrar
Registrar-se
Anncios
TAM Imperdvel para Miami a partir de R$ 1.566,00
TAM.com.br
Mais anncios
Conectados
7 de 12
22/3/2013 17:23
http://www.tomasvasquez.com.br/blog/microsoft-office/vba-criando-combobox-encadeados
61 Convidados 1 Bot
Google Translator
Translate to:
Posts similares
VBA Como Filtrar dados no ListBox .NET Corrigindo o erro DataGridViewComboBoxCell Value is not Valid VBA Marcador de Linha e Coluna no Excel VBA Macro para exportar dados em XML no Excel VBA Login com Banco de Dados em Excel
Posts Recentes
VBA Fazendo uma clula piscar no Excel Modelos Cadastro com integrao de Access x Excel e Grficos VBA Modelo De Cadastro de Cheque Top 10 Estruturas de Controle no Excel VBA Blog Os top 20 posts de 2012
OlhoNoBit
Web Resolvendo conflitos no jQuery Tomamais SQL Multiplos Bancos no Contexto do Linq To Sql Stupied4ever MVC MVC Scaffolding Stupied4ever jQuery Truncando texto Stupied4ever
Tags
8 de 12 22/3/2013 17:23
http://www.tomasvasquez.com.br/blog/microsoft-office/vba-criando-combobox-encadeados
.NET Access Android Arquivo ASP.NET Baboseiras Browsers C# Cadastro celulares dados Desenvolvimento dicas download Downloads Formulrios funes Google HTML Internet iPhone Javascript ListBox Macros microsoft Mobilidade Modelos Nokia office Planilhas Segurana Smartphone
Excel Firefox
Smartphones SQL sql server Symbian Tecnologia UserForm VBA Vdeos Web windows Word
Categorias
Avisos (2) Baboseiras (55) Banco de Dados (4) Carreira (7) Desenvolvimento (132) .NET (46) Downloads (14) EaD (3) Hardware (3) Microsoft Office (255) Access (24) Excel (201) Outlook (18) VBA (161) Word (38) Open Souce (1) Tecnologia (215) Dicas (111) Mobilidade (47) Segurana (14) Web (90)
9 de 12
22/3/2013 17:23
http://www.tomasvasquez.com.br/blog/microsoft-office/vba-criando-combobox-encadeados
Instale o Dropbox
Backup do seus arquvios na nuvem? pra j!
ltimas do Frum
VBA Bsico Re: Planilha para formulaes + Pedido de ajuda 13 de maro de 2013 arcksouls VBA Bsico Re: Planilha para formulaes + Pedido de ajuda 13 de maro de 2013 Mikel Silveira Fraga VBA Bsico Transpor via cdigo - vba excel 12 de maro de 2013 Kayo VBA Bsico Re: Planilha para formulaes + Pedido de ajuda 12 de maro de 2013 arcksouls VBA Bsico Re: Planilha para formulaes + Pedido de ajuda 12 de maro de 2013 Mikel Silveira Fraga Modelo de Aplicativo de Cadastro em VBA no Microsoft Excel Re: SOMA VBA - PLANILHA 12 de maro de 2013 marcleo Excel + Access Re: Cadastro com integrao de access x excel e graficos 12 de maro de 2013 Mikel Silveira Fraga VBA Bsico Re: Planilha para formulaes + Pedido de ajuda 12 de maro de 2013 arcksouls VBA Bsico Re: Editar listview 12 de maro de 2013 Mikel Silveira Fraga VBA Bsico Re: Planilha para formulaes + Pedido de ajuda 12 de maro de 2013 Mikel Silveira Fraga
Anncios
10 de 12
22/3/2013 17:23
http://www.tomasvasquez.com.br/blog/microsoft-office/vba-criando-combobox-encadeados
Lanamento 2 e 3 dorms.
Aptos 64,82 e Penthouse de 116m. Lazer completo. Fale com o corretor
Mac.com.br/ClassVarandaMari ana
Mais anncios
Central Blogs
11 de 12
22/3/2013 17:23
http://www.tomasvasquez.com.br/blog/microsoft-office/vba-criando-combobox-encadeados
Links
Anncios Google
Blogs Parceiros
2007 Toms Vsquez Blog - StudioPress Theme Full RSS - Comments RSS
12 de 12
22/3/2013 17:23