Você está na página 1de 6

08/06/2011

Codigo VBA Combobox com 7 op&#2


Procurar no MSDN com o Bing
Brasil (Portugus) Sign in

Home

Biblioteca

Aprender

Code

Downloads

Suporte

Comunidade

Fruns

Microsoft Develper Network > Pgina Inicial dos Fruns > Fruns do Office & Sharepoint Development > VBA > Codigo VBA Combobox com 7 opções que Habilita outro combo conforme opção selecionada

Precisa de Ajuda com Fruns? (FAQ)


Meus Links para Fruns
Entrar para Fruns Pgina Inicial dos Fruns Procurar Usurios de Fruns

Pesquisar Frum VBA

Fazer uma Pergunta

Codigo VBA Combobox com 7 opções que Habilita outro combo conforme opção selecionada
Brunojull
sbado, 19 de abril de 2008 13:51 Galera

Estatsticas
Iniciado em: 19/04/2008 ltima Resposta: 21/04/2008 Votos teis: 0 Respostas: 5 Exibies: 3.416

0
Entrar para Votar

Tenho uma planilha com 8 colulas

A - 7 Opes

B- Subgrupo 1 Opo Ex:B.1 B.2

C- Subgrupo da 2 Opo D- Subgrupo da 3 Opo E- Subgrupo da 4 Opo F- Subgrupo da 5 Opo G- Subgrupo da 6 Opo H- Subgrupo da 7 Opo

Preciso no formulario que quando no Combobox Principal escolher a 1 Opo o combobox2 seja preenchido com os dados do subgrupo da opo selecionada e .enable o Combobox Principal.

Tentei com o If no primeiro combo mas no funcionou.

Outro exemplo : Dois combo 1 com Estado outro com Cidades Quando o Combo 1 seleciona o Estado o combo dois automaticante mostra as Cidades para aqule estado.

Alguem pode ajudar ? Responder Citao

Respostas EvangelistaLion
domingo, 20 de abril de 2008 16:29 Ol Bruno,

0
Entrar

microsoft.com//852985bf-0e03-49

1/6

08/06/2011
para Votar

Codigo VBA Combobox com 7 op&#2


Para definir a quantidade basta especificar a linha.. Ex:ComboBox2.RowSource = "B1:B15" Mas este cdigo j conta as linhas pra voc de cada coluna da planilha parametros..

Code Snippet Dim coluna As String

Code Snippet Function nrow() Set wks = Worksheets("parametros") With wks nrow = .Cells(.Rows.Count, coluna).End(xlUp).Row End With If nrow < 2 Then nrow = 2 End If End Function

Code Snippet Private Sub UserForm_initialize() coluna = "a" ComboBox1.List = Application.Transpose(Sheets("parametros").Range("a1:a" & nrow)) End Sub

Code Snippet Private Sub ComboBox1_CLICK() Select Case ComboBox1.ListIndex + 1 Case 1 coluna = "b" ComboBox2.List = Application.Transpose(Sheets("parametros").Range("b1:b" & nrow)) ComboBox2.ListIndex = 0 Case 2 coluna = "c" ComboBox2.List = Application.Transpose(Sheets("parametros").Range("c1:c" & nrow)) ComboBox2.ListIndex = 0 Case 3 coluna = "d" ComboBox2.List = Application.Transpose(Sheets("parametros").Range("d1:d" & nrow)) ComboBox2.ListIndex = 0 Case 4 coluna = "e" ComboBox2.List = Application.Transpose(Sheets("parametros").Range("e1:e" & nrow)) ComboBox2.ListIndex = 0 Case 5 coluna = "f" ComboBox2.List = Application.Transpose(Sheets("parametros").Range("f1:f" & nrow)) ComboBox2.ListIndex = 0 Case 6 coluna = "g" ComboBox2.List = Application.Transpose(Sheets("parametros").Range("g1:g" & nrow)) ComboBox2.ListIndex = 0 Case 7 coluna = "h" ComboBox2.List = Application.Transpose(Sheets("parametros").Range("h1:h" & nrow)) ComboBox2.ListIndex = 0 End Select End Sub

Qualquer dvida post denovo... No se esquea de marcar a pergunta como respondida, caso lhe tenha ajudado.. At mais....

microsoft.com//852985bf-0e03-49

2/6

08/06/2011
Responder Citao

Codigo VBA Combobox com 7 op&#2

EvangelistaLion

segunda-feira, 21 de abril de 2008 16:35

Ol Bruno,

0
Entrar para Votar

Testei aqui e est funcionando direitinho... Verifique se todo o cdigo est dentro do seu formulrio incluindo a funo....Deve ser porque o evento no est encontrando a funo ou se ela estiver num mdulo a varivel coluna zerada ou se voc esqueceu de declarar a varivel(Dim coluna As String) dando o erro 1004.. Qualquer dvida post denovo... At mais...

Responder

Citao

Todas as Respostas EvangelistaLion


sbado, 19 de abril de 2008 15:05 Ol Bruno,

0
Entrar para Votar

As opes ponha na coluna A, e conforme voc seleciona um item do combo1 preenchido o combo2 conforme sua escolha.. Ex...Opo 1 do combo1, preenchido combo2 com a coluna B Code Snippet Private Sub UserForm_initialize() ComboBox1.RowSource = "A:A" End Sub

Code Snippet Private Sub ComboBox1_CLICK() Select Case ComboBox1.ListIndex + 1 Case 1 ComboBox2.RowSource = "B:B" ComboBox2.ListIndex = 0 Case 2 ComboBox2.RowSource = "C:C" ComboBox2.ListIndex = 0 Case 3 ComboBox2.RowSource = "D:D" ComboBox2.ListIndex = 0 Case 4 ComboBox2.RowSource = "E:E" ComboBox2.ListIndex = 0 Case 5 ComboBox2.RowSource = "F:F" ComboBox2.ListIndex = 0 Case 6 ComboBox2.RowSource = "G:G" ComboBox2.ListIndex = 0 Case 7 ComboBox2.RowSource = "H:H" ComboBox2.ListIndex = 0 End Select End Sub

Qualquer dvida post denovo At mais... Responder Citao

microsoft.com//852985bf-0e03-49

3/6

08/06/2011
Brunojull

Codigo VBA Combobox com 7 op&#2


sbado, 19 de abril de 2008 17:01

0
Entrar para Votar

EvangeistaLion

Muito Obrigado funcionou perfeitamente ,

pode auxiliar para definir os dados apenas em uma planilha que vai ficar oculta chamada parametros,

e uma duvida como posso definir a quantidade de linha para cada Case ComboBox2.RowSource = "B:B" .

Grato; Bruno

Responder

Citao

EvangelistaLion
domingo, 20 de abril de 2008 16:29 Ol Bruno,

0
Entrar para Votar

Para definir a quantidade basta especificar a linha.. Ex:ComboBox2.RowSource = "B1:B15" Mas este cdigo j conta as linhas pra voc de cada coluna da planilha parametros..

Code Snippet Dim coluna As String

Code Snippet Function nrow() Set wks = Worksheets("parametros") With wks nrow = .Cells(.Rows.Count, coluna).End(xlUp).Row End With If nrow < 2 Then nrow = 2 End If End Function

Code Snippet Private Sub UserForm_initialize() coluna = "a" ComboBox1.List = Application.Transpose(Sheets("parametros").Range("a1:a" & nrow)) End Sub

Code Snippet Private Sub ComboBox1_CLICK() Select Case ComboBox1.ListIndex + 1 Case 1 coluna = "b" ComboBox2.List = Application.Transpose(Sheets("parametros").Range("b1:b" & nrow)) ComboBox2.ListIndex = 0 Case 2

microsoft.com//852985bf-0e03-49

4/6

08/06/2011

Codigo VBA Combobox com 7 op&#2


coluna = "c" ComboBox2.List = Application.Transpose(Sheets("parametros").Range("c1:c" & nrow)) ComboBox2.ListIndex = 0 Case 3 coluna = "d" ComboBox2.List = Application.Transpose(Sheets("parametros").Range("d1:d" & nrow)) ComboBox2.ListIndex = 0 Case 4 coluna = "e" ComboBox2.List = Application.Transpose(Sheets("parametros").Range("e1:e" & nrow)) ComboBox2.ListIndex = 0 Case 5 coluna = "f" ComboBox2.List = Application.Transpose(Sheets("parametros").Range("f1:f" & nrow)) ComboBox2.ListIndex = 0 Case 6 coluna = "g" ComboBox2.List = Application.Transpose(Sheets("parametros").Range("g1:g" & nrow)) ComboBox2.ListIndex = 0 Case 7 coluna = "h" ComboBox2.List = Application.Transpose(Sheets("parametros").Range("h1:h" & nrow)) ComboBox2.ListIndex = 0 End Select End Sub

Qualquer dvida post denovo... No se esquea de marcar a pergunta como respondida, caso lhe tenha ajudado.. At mais....

Responder

Citao

Brunojull

segunda-feira, 21 de abril de 2008 14:10

Ol Evangelista

0
Entrar para Votar

Quando tento executar esta aparecendo uma mensagem

Erro em tempo de execuo '1004': Erro de definio de aplicativo ou de definio de objeto

Pode ajudar ?

Grato Bruno.

Responder

Citao

EvangelistaLion

segunda-feira, 21 de abril de 2008 16:35

Ol Bruno,

0
Entrar para Votar

Testei aqui e est funcionando direitinho... Verifique se todo o cdigo est dentro do seu formulrio incluindo a funo....Deve ser porque o evento no est encontrando a funo ou se ela estiver num mdulo a varivel coluna zerada ou se voc esqueceu de declarar a varivel(Dim coluna As

microsoft.com//852985bf-0e03-49

5/6

08/06/2011
String) dando o erro 1004.. Qualquer dvida post denovo... At mais...

Codigo VBA Combobox com 7 op&#2

Responder

Citao

2011 Microsoft. Todos os direitos reservados. Termos de Uso | Marcas Comerciais | Pol&iacute;tica de Privacidade | Fale Conosco

microsoft.com//852985bf-0e03-49

6/6