VBA – Criando ComboBox Encadeados _ Tomás Vásquez - Blog.pdf
-
Upload
lucio-mathias -
Category
Documents
-
view
844 -
download
3
Transcript of VBA – Criando ComboBox Encadeados _ Tomás Vásquez - Blog.pdf
Curtir 2 Tweet 1 4
Tomás Vásquez – BlogTecnologia, Educação, Web e Baboseiras em geral
HomeModelos ProntosCursosFórumSobre
VBA – Criando ComboBox Encadeados
17/nov/09 em Desenvolvimento, Excel, Microsoft Office, VBA
Outra dúvida muito comum na comunidade VBA. ComboBox Encadeados quer dizer que em dois ou mais ComboBoxes, ao atualizar os dados de umComboBox, os outros são afetados. Isso é útil quando os dados entre eles estão relacionados, o que quase sempre é verdade.
No exemplo deste post, a relação dos dados será baseada na tradicional Produto e Categoria. A pasta de trabalho deve estar disposta em duas planilhas daseguinte forma:
VBA – Criando ComboBox Encadeados | Tomás Vásquez - Blog http://www.tomasvasquez.com.br/blog/microsoft-office/vba-criando-combobox-encadeados
1 de 12 22/3/2013 17:23
É preciso que os dados da coluna NomeDaCategoria na planilha de Produtos estejam compatíveis comos da planlha Categorias, ou o filtro não funcionará.
Após isso, crie um UserForm com a seguinte “cara”:
Para que o código funcione sem precisar alterar nada, nomeie os campos da seguinte forma:
LabelCategoriasComboBoxCategoriasLabelProdutosComboBoxProdutos
Em seguida, adicione o seguinte código o formulário:
VBA – Criando ComboBox Encadeados | Tomás Vásquez - Blog http://www.tomasvasquez.com.br/blog/microsoft-office/vba-criando-combobox-encadeados
2 de 12 22/3/2013 17:23
Private Sub ComboBoxCategorias_Change() Call CarregaProdutos(Me.ComboBoxCategorias.List(Me.ComboBoxCategorias.ListIndex))End Sub Private Sub UserForm_Initialize() Call CarregaCategoriasEnd 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 WithEnd 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 WithEnd Sub
Execute o formulário e selecione uma categoria no primeiro ComboBox. Veja que no ComboBox de produtos são mostrados apenas aqueles que pertecem àcategoria selecionada:
VBA – Criando ComboBox Encadeados | Tomás Vásquez - Blog http://www.tomasvasquez.com.br/blog/microsoft-office/vba-criando-combobox-encadeados
3 de 12 22/3/2013 17:23
0 4
Obviamente existem várias formas de fazer o mesmo trabalho. Invente a sua, ou, faça o download do exemplo no link abaixo:
http://www.tomasvasquez.com.br/downloads/ComboBoxEncadeado.zip
Bom proveito!
Tags: ComboBox, Excel, VBA
You must be logged in to post a comment.
Profile
Você precisa fazer o login para publicar um comentário.
3 Replies3 Comments0 Tweets0 Facebook0 Pingbacks
Last reply was 27 de junho de 2010
VBA – Criando ComboBox Encadeados | Tomás Vásquez - Blog http://www.tomasvasquez.com.br/blog/microsoft-office/vba-criando-combobox-encadeados
4 de 12 22/3/2013 17:23
brunoView 26 de fevereiro de 2010
Valeu! Muito bom o exemplo. Funcional e prático.
1.
Robson AzevedoView 26 de junho de 2010
Como faço 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.
Alguém tem algum exemplo?
Tenho um exemplo que funciona somente o 1º Combobox, enquanto o segundo, não roda.
EM ANEXO O EXEMPLO. (VBA/Excel)
Grato,
2.
Tomás VásquezView 27 de junho de 2010
Robson,
As possibilidades são muitas. Melhor discurtirmos no fórum:
http://www.tomasvasquez.com.br/forum
Nos vemos lá!
3.
Aproveite para ler também
VBA – Como Filtrar dados no ListBox
VBA – Criando ComboBox Encadeados | Tomás Vásquez - Blog http://www.tomasvasquez.com.br/blog/microsoft-office/vba-criando-combobox-encadeados
5 de 12 22/3/2013 17:23
.NET – Corrigindo o erro DataGridViewComboBoxCell Value is not ValidVBA – Marcador de Linha e Coluna no ExcelVBA – Macro para exportar dados em XML no ExcelVBA – Login com Banco de Dados em Excel
Modelo de Cadastro em Excel VBA
Com milhares de downloads já realizados, confira o modelo que está conquistando os adeptos do mais conhecido e utilizado aplicativo de planilhaseletrônicas no mundo!Modelo de Aplicativo de Cadastro em VBA no Microsoft ExcelTomás Vásquez
Autoradmin-photoTomamais
VBA – Criando ComboBox Encadeados | Tomás Vásquez - Blog http://www.tomasvasquez.com.br/blog/microsoft-office/vba-criando-combobox-encadeados
6 de 12 22/3/2013 17:23
Entrar
Login
Login
Nome de usuário:
Senha:
Lembrar
Registrar-se
Anúncios
TAMImperdível para Miami apartir de R$ 1.566,00TAM.com.br
Mais anúncios
Conectados
VBA – Criando ComboBox Encadeados | Tomás Vásquez - Blog http://www.tomasvasquez.com.br/blog/microsoft-office/vba-criando-combobox-encadeados
7 de 12 22/3/2013 17:23
61 Convidados 1 Bot
Google Translator
Translate to:
Powered by Google Translate.
Posts similares
VBA – Como Filtrar dados no ListBox.NET – Corrigindo o erro DataGridViewComboBoxCell Value is not ValidVBA – Marcador de Linha e Coluna no ExcelVBA – Macro para exportar dados em XML no ExcelVBA – Login com Banco de Dados em Excel
Posts Recentes
VBA – Fazendo uma célula piscar no ExcelModelos – Cadastro com integração de Access x Excel e GráficosVBA – Modelo De Cadastro de ChequeTop 10 Estruturas de Controle no Excel VBABlog – Os top 20 posts de 2012
OlhoNoBit
Web – Resolvendo conflitos no jQuery TomamaisSQL – Multiplos Bancos no Contexto do Linq To Sql Stupied4everMVC – MVC Scaffolding Stupied4everjQuery – Truncando texto Stupied4ever
Tags
VBA – Criando ComboBox Encadeados | Tomás Vásquez - Blog http://www.tomasvasquez.com.br/blog/microsoft-office/vba-criando-combobox-encadeados
8 de 12 22/3/2013 17:23
.NET Access Android Arquivo ASP.NET Baboseiras Browsers C# Cadastro celulares dados Desenvolvimento dicas download Downloads Excel Firefox
Formulários funções Google HTML Internet iPhone Javascript ListBox Macros microsoft Mobilidade Modelos Nokia office Planilhas Segurança Smartphone
Smartphones SQL sql server Symbian Tecnologia UserForm VBA Vídeos 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)Segurança (14)
Web (90)
Backup nas nuvens
VBA – Criando ComboBox Encadeados | Tomás Vásquez - Blog http://www.tomasvasquez.com.br/blog/microsoft-office/vba-criando-combobox-encadeados
9 de 12 22/3/2013 17:23
Instale o Dropbox
Backup do seus arquvios na nuvem? É pra já!
Últimas do Fórum
VBA Básico • Re: Planilha para formulações + Pedido de ajuda 13 de março de 2013 arcksoulsVBA Básico • Re: Planilha para formulações + Pedido de ajuda 13 de março de 2013 Mikel Silveira FragaVBA Básico • Transpor via código - vba excel 12 de março de 2013 KayoVBA Básico • Re: Planilha para formulações + Pedido de ajuda 12 de março de 2013 arcksoulsVBA Básico • Re: Planilha para formulações + Pedido de ajuda 12 de março de 2013 Mikel Silveira FragaModelo de Aplicativo de Cadastro em VBA no Microsoft Excel • Re: SOMA VBA - PLANILHA 12 de março de 2013 marcleoExcel + Access • Re: Cadastro com integração de access x excel e graficos 12 de março de 2013 Mikel Silveira FragaVBA Básico • Re: Planilha para formulações + Pedido de ajuda 12 de março de 2013 arcksoulsVBA Básico • Re: Editar listview 12 de março de 2013 Mikel Silveira FragaVBA Básico • Re: Planilha para formulações + Pedido de ajuda 12 de março de 2013 Mikel Silveira Fraga
Anúncios
VBA – Criando ComboBox Encadeados | Tomás Vásquez - Blog http://www.tomasvasquez.com.br/blog/microsoft-office/vba-criando-combobox-encadeados
10 de 12 22/3/2013 17:23
Lançamento 2 e3 dorms.Aptos 64,82 ePenthouse de116m². Lazercompleto. Falecom o corretor
Mac.com.br/ClassVarandaMariana
Nova HondaPOP 100Motor OHC100cc, ParalamaInterno Protetorde Escapamentoe 4 Marchas
www2.honda.com.br/POP100
Mais anúncios
Central Blogs
VBA – Criando ComboBox Encadeados | Tomás Vásquez - Blog http://www.tomasvasquez.com.br/blog/microsoft-office/vba-criando-combobox-encadeados
11 de 12 22/3/2013 17:23
Links
Blogs Parceiros
© 2007 Tomás Vásquez – Blog - StudioPress Theme
Full RSS - Comments RSS
»«
Anúncios Google
► Excel vba► Vba access► Macros vba
VBA – Criando ComboBox Encadeados | Tomás Vásquez - Blog http://www.tomasvasquez.com.br/blog/microsoft-office/vba-criando-combobox-encadeados
12 de 12 22/3/2013 17:23