Tópico de todas as dúvidas em excel.

Boas, não estou a perceber bem em que ponto é que já estás, e qual a tua dúvida...

Já tens as 2 combos?

O que me parece que tens de fazer, é no evento de selecção da 1ª combo, preencher a 2ª.
Eu tenho uma Combo na célula C5.

E essa combo tem 4 possibilidades.

Ao escolher cada uma dessas possibilidades, quero que apareça uma 2ª combo na D5 com mais 3 ou 4 possibilidades!

Eu tenho na realidade 5 combos criadas, a original que depois terá 4 opções. Agora não estou a conseguir é ao seleccionar uma das opções na 1ª (C5) que a segunda mude!

Consegui explicar?
 
5 combos?

Tens de fazer é ao mudar o valor da combo da C5, preencher a outra combo com os valores pretendidos, isto através de macro do género:

Private Sub ComboBox1_Change()

End Sub


EDIT:

Private Sub Worksheet_Activate()
ComboBox1.Clear
ComboBox1.AddItem "A"
ComboBox1.AddItem "B"
ComboBox1.AddItem "C"
End Sub

Private Sub ComboBox1_Change()
ComboBox2.Clear
If ComboBox1.Value = "A" Then
ComboBox2.AddItem "A1"
ComboBox2.AddItem "A2"
End If
If ComboBox1.Value = "B" Then
ComboBox2.AddItem "B1"
ComboBox2.AddItem "B2"
End If
If ComboBox1.Value = "C" Then
ComboBox2.AddItem "C1"
ComboBox2.AddItem "C2"
End If
End Sub

Experimenta...
 
Última edição:
Insere 2 comboboxes.

Duplo clique na 1ª e deve ir para o VBA.

Aí inseres as macros que coloquei em cima.

Não tendo conhecimentos de macros, vai ser mais complidado, mas estamos aqui para isso (eu só atè às 18h [:D])
 
Insere 2 comboboxes.

Duplo clique na 1ª e deve ir para o VBA.

Aí inseres as macros que coloquei em cima.

Não tendo conhecimentos de macros, vai ser mais complidado, mas estamos aqui para isso (eu só atè às 18h [:D])
 
5 combos?

Tens de fazer é ao mudar o valor da combo da C5, preencher a outra combo com os valores pretendidos, isto através de macro do género:

Private Sub ComboBox1_Change()

End Sub


EDIT:

Private Sub Worksheet_Activate()
ComboBox1.Clear
ComboBox1.AddItem "A"
ComboBox1.AddItem "B"
ComboBox1.AddItem "C"
End Sub

Private Sub ComboBox1_Change()
ComboBox2.Clear
If ComboBox1.Value = "A" Then
ComboBox2.AddItem "A1"
ComboBox2.AddItem "A2"
End If
If ComboBox1.Value = "B" Then
ComboBox2.AddItem "B1"
ComboBox2.AddItem "B2"
End If
If ComboBox1.Value = "C" Then
ComboBox2.AddItem "C1"
ComboBox2.AddItem "C2"
End If
End Sub

Experimenta...
Estava aqui a pensar que se calhar também se consegue fazer isso sem recorrer a VB... Usando combos de "Data Validation" baseadas em listas (source) que variem de acordo com a combo anterior....
 
Ora bem...

Na célula A3 tenho uma combo "Data Validation" que permite os valores da range A4:A5 (A célula A4 tem um "a" a A5 tem um "b"

Em cada uma das células C2 a C5 inseri o texto A1;A2;A3;A4, em cada uma das células D2 a D5 inseri o texto B1;B2;B3;B4

Nas células I2 a I5 pus a lista que vai alimentar a segunda combo "Data Validation". Consegui isso escrevendo em cada uma dessas celulas a afunção "=IF($A$3="a";C2;D2)". E resulta!

Assim de repente foi o que me saiu. Admito que não è grande coisa, mas foi num instante. Mais trabalho deu-me transpor o que fiz para aqui. [:D]
 
Ora bem...

Na célula A3 tenho uma combo "Data Validation" que permite os valores da range A4:A5 (A célula A4 tem um "a" a A5 tem um "b"

Em cada uma das células C2 a C5 inseri o texto A1;A2;A3;A4, em cada uma das células D2 a D5 inseri o texto B1;B2;B3;B4

Nas células I2 a I5 pus a lista que vai alimentar a segunda combo "Data Validation". Consegui isso escrevendo em cada uma dessas celulas a afunção "=IF($A$3="a";C2;D2)". E resulta!

Assim de repente foi o que me saiu. Admito que não è grande coisa, mas foi num instante. Mais trabalho deu-me transpor o que fiz para aqui. [:D]

Desconhecia essa solução, e parece mais user-friendly do que a minha [:D]
 
Ora bem...

Na célula A3 tenho uma combo "Data Validation" que permite os valores da range A4:A5 (A célula A4 tem um "a" a A5 tem um "b"

Em cada uma das células C2 a C5 inseri o texto A1;A2;A3;A4, em cada uma das células D2 a D5 inseri o texto B1;B2;B3;B4

Nas células I2 a I5 pus a lista que vai alimentar a segunda combo "Data Validation". Consegui isso escrevendo em cada uma dessas celulas a afunção "=IF($A$3="a";C2;D2)". E resulta!

Assim de repente foi o que me saiu. Admito que não è grande coisa, mas foi num instante. Mais trabalho deu-me transpor o que fiz para aqui. [:D]
Funcionou, mas não é o que eu queria.

O que eu queria (usando a tua organização).

É que ao escolher "a" na A2 , a I2 desse outra combo com as 4 opções (A1, A2, A3 e A4)
 
Agora alterei a primeira lista para "Casado" e "Solteiro", a segunda para "Casado com um filho"... "Casado com dois filhos" ... e a terceira para "Solteiro com um filho"... "Solteiro com dois filhos" ...

Se na primeira combo selecionar solteiro a segunda combo adequire as opções solteiro com n filhos, se selecionar casado na primeira a segunda box fica com a opções casado com "n filhos. Apenas tive de alterar a fórmula para a lista que alimenta a segunda combo para o seguinte: =IF($A$3="casado";C3;D3).

Chama-se a isto programar com poucos conhecimentos. [:D]
 
Funcionou, mas não é o que eu queria.

O que eu queria (usando a tua organização).

É que ao escolher "a" na A2 , a I2 desse outra combo com as 4 opções (A1, A2, A3 e A4)
Se fizeres bem é isso que acontece, porque a lista que alimenta a segunda box varia com a fórmula "=IF($A$3="a";C3;D3). Se "a" a lista fica com os valores de C3 a C5, se fôr "b" a lista passa a ter o conteúdo das celulas D3 a D5.

No segundo exemplo:
Se na primeira escolho "solteiro" na segunda aparece "solteiro com 1 filho";"solteiro com 2 filhos" ;"solteiro com 3 filhos" ;"solteiro com 4 filhos"
Se na primeira escolho "casado" na segunda aparece "casado com 1 filho";"casado com 2 filhos" ;"casado com 3 filhos" ;"casado com 4 filhos"

A segunda combo trabalha sobre uma lista que é o resultado da escolha feita na primeira combo.

P.S. Claro que isto em Access é muito mais fácil de fazer.
 
Última edição:
Agora alterei a primeira lista para "Casado" e "Solteiro", a segunda para "Casado com um filho"... "Casado com dois filhos" ... e a terceira para "Solteiro com um filho"... "Solteiro com dois filhos" ...

Se na primeira combo selecionar solteiro a segunda combo adequire as opções solteiro com n filhos, se selecionar casado na primeira a segunda box fica com a opções casado com "n filhos. Apenas tive de alterar a fórmula para a lista que alimenta a segunda combo para o seguinte: =IF($A$3="casado";C3;D3).

Chama-se a isto programar com poucos conhecimentos. [:D]

Consegui fazer como dizes, mas tive de usar a fórmula "=IF($A$3=1;C2;D2)" porque está-me a passar o 1 em vez do "a" para a célula A3.
 
Voltar
Superior