Ir ao conteúdo

Posts recomendados

Postado

Gente, Bom Dia...nada como mais uma sexta-feira...

Muito bem,

A dúvida é simples, gostaria de criar uma combobox no excel, só que seriam 2, uma com a categoria e outra com a sub-categoria.

Exemplo:

- Combo Box 1 (Fiat, Chevrolet, Toyota, Audi)

- Combo Box 2 (Listagem dos carros relacionado à marca selecionada acima)

Sei que esse tipo de relacionamento pode ser feito perfeitamente em uma aplicação web, seria possível desenvolver a mesma coisa em excel???

Valeu,

Postado

Acho que só usando VBA para fazer relação de uma com a outra. Não conheço maneira de usar função Se com o combobox da barra de formulário.

Postado

Agora você me deu uma ideia, eu poderia colocar um ID referencial sobre as sub-categorias, por exemplo, caso o combobox selecione a categoria "Toyota", a célula com vínculo irá me apresentar o nº 1, à partir dese número, eu poderia atribuir essa identificação aos produtos relacionados, então o combobox 2 relaciona somente o que for relacionado....

Acho que vai dar certo...

Valeu Nätäschä, se eu conseguir resolver o problema postarei a solução.

  • 2 anos depois...
Postado

Cristiano....

Você conseguiu fazer ? Eu estou tentando tambem em VBA e não estou conseguindo fazer com que o outro combobox liste os subitens..

Preciso muito dessa implementação.

Obrigado

Postado

Até que não é difícil fazer isso. Primeiro faça a primeira caixa de listagem, aí em RowSource você colocar uma seqüência de células onde estão as opções.

A seguir você cria a segunda caixa de listagem e dá um duplo clique na primeira caixa de listagem, escrevendo um código tipo esse:

Private Sub ComboBox1_Change()

Select Case ComboBox1.Text

Case "A"

ComboBox2.RowSource = "B1:B6"

Case "B"

ComboBox2.RowSource = "C1:C6"

End Select

End Sub

Nesse caso se você selecionar no primeiro combobox "A" então ele vai retornar a lista dos valores de B1 até B6, se for "B" vai abrir os valores de C1 a C6.

Postado

eu sei q parece meio lokura mas.. veja se é possível fazer o seguinte:

será q tem como fazer combobox ficar igual ao "Autofiltro" ?

ex. eu tenho uma planilha com 6 colunas... 1000 linhas... ou seja eu posso selecionar com o autofiltro 6 opções de filtro. se eu quiser selecionar a 5 coluna primeiro eu filtro e assim por diante

Tem como eu utilizar 6 combobox para fazer a mesma coisa ? eu penso nisso porque ficaria melhor visualmente

valeu galera

Postado

Tem sim, inclusive existe uma função para fazer isso muito simplesmente usando a função AutoFilter, um ex:

Sub a()

Range("A:A").AutoFilter 1, "D"

End Sub

vai filtrar na coluna A apenas os valores "D".

  • 2 anos depois...
Postado

Pessoal,

Estou montando um arquivo e há duas combobox as quais uma tem que conversar com a outra, ou seja, de acordo com o que eu selecionar em uma, a outra me tras os produtos (p.exemplo) referente à essa seleção. Estou fazendo no VBA mas como não sou expert nessa parte preciso de uma ajuda de como montar de uma forma simples.

Tentei fazer da mesma forma que vocês já haviam discutido mas não tive sucesso!!

Agradeço toda ajuda!!

Estou encaminhando anexo para exemplificar

Obrigado!

Renato

post-851122-13884958914893_thumb.jpg

Postado

Bom dia Patropi,

Cara, essa é a ideia mas estou com dificuldade em fazer esse mesmo processo no VB do excel.

Você conseguiria montar na lingagem de programação do Excel (VB)?

Abraço e obrigado pela ajuda!

Renato Felipe

  • Membro VIP
Postado

Boa noite Renato

Eu ainda sou iniciante em VBA, só sei adaptar alguns código, fazer coisas mais simples.

Mas tem um pessoal aqui no fórum que é fera em VBA provavelmente irão te ajudar.

Um abraço

  • 5 anos depois...
Postado

http://www.tomasvasquez.com.br/blog/microsoft-office/excel-criando-listas-e-ranges-dinamicos-com-a-formula-desloc

 

Lendo o link, parece não ser possível resolver o problema da pergunta inicial, porém, com a função DESLOC, é possível algo muito próximo a combos dinâmicos, digo muito próximo pois não cheguei a exatamente testar no excel, somente excel online e libre office (que neste funcionou!).

 

Basicamente, como é possível verificar no artigo, a função DESLOC (que não cheguei a estudar a fundo), funciona da seguinte forma:

 

DESLOC([1]; [2]; [3]; [4]; [5]) onde os [Parâmetros] são:

 

1- Célula Referência;

2- Linhas a mover: positivo - sentido célula ref. para baixo, negativo - célula ref. para cima; 

3- Colunas a mover: positivo - sentido célula ref. para direita, negativo - célula ref. para esquerda; 

4- Linhas retorno;

5- Colunas Retorno

 

Então, o artigo aborda o seguinte problema, como possuir 1 combo dinâmico? partindo do princípio da fonte de dados ser um intervalo de células. Sendo este problema resolvido.

 

Porém queremos um segundo combo, com opções de acordo com a selecionada do primeiro combo.

 

Como a função DESLOC, retorna um range, ou seja, um intervalo de células é possível criar algo como:

 

  • Célula (A1) primeiro combo - lista de estados.

Em validação de dados selecione um intervalo de células com os estados (ver artigo).

  • Célula (A2) segundo combo - lista cidades de acordo ao selecionado no primeiro.

Adicionar no campo de intervalo a seguinte fórmula:

SE(A1=[célula do estado RS]; DESLOC([célula de início cidades RS]; 0; 0;  [número de cidades (linhas) com cidades do RS]; 1); [demais conndições de outros estados])

 

Como comentei no início, testado no libre Office, funcionou certo,

 

Sendo uma possível alternativa a quem não manja muito de VBA.

 

 

 

 

exemplo.xlsx

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!