Botões de comando a...
 
Notifications
Clear all

Botões de comando acionando ComboBox

9 Posts
1 Usuários
0 Reactions
2,516 Visualizações
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Olá pessoal. Em um arquivo Excel, pretendo fazer uma plan criando um formulário que contenha uma ComboBox para seleção de fornecedores. Como são muitos, gostaria de inserir botões de comando nesse form contendo todas as letras do alfabeto. Deste modo, quando se acionasse o botão de comando referente à letra “A”, por exemplo, apareceriam apenas os fornecedores iniciados por esta letra no ComboBox acima. Como se faz algo assim ? Agradeço a ajuda. :)

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 15/07/2011 8:36 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Exemplo no anexo:

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 15/07/2011 2:11 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Edson, perfect ! Exatamente isso. Muito obrigado. Abraços. :mrgreen:

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 15/07/2011 3:16 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Olá a todos!

Olá Edson!

Pode esplicar esse codigo?

Sub Adicionar(pri)

ComboBox1.Clear

lin = 1

Do While Sheets("Plan1").Cells(lin, 1) <> ""
If Mid(Sheets("Plan1").Cells(lin, 1), 1, 1) <> pri Then
lin = lin + 1
Else
ComboBox1.AddItem Sheets("Plan1").Cells(lin, 1)
lin = lin + 1
End If
Loop

End Sub

VLW!!!

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 18/07/2011 5:11 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Com a sua permissão Edson :
Anderson em um outro Tópico, você me disse :
Cara preciso aprender ingles...
Leio um pouco devido ao meu trabalho, mas é tecnico, porem especifico...

Então, você não precisa ser expert no Idioma, sabendo as palavras CHAVES, já é mais de meio caminho andado para se entender determinadas rotinas, por exemplo :

Primeiro Passo, procurar na ajuda do VBA e do Excel informações sobre as Funções :

Função MID
Em VBA a Função Mid equivale a Função EXT.TEXTO :
Retorna uma Variant (String) que contém um número especificado de caracteres de uma seqüência de caracteres.
Sintaxe
Mid(string, start[, length])

Função EXT.TEXTO
EXT.TEXTO retorna um número específico de caracteres da seqüência de caracteres texto, começando na posição especificada, com base no número de caracteres especificado
Sintaxe
EXT.TEXTO(texto;núm_inicial;núm_caract)
Exemplo :
=EXT.TEXTO("DOMINIQUE"; 1; 1) Retorna "D"
=EXT.TEXTO("DOMINIQUE"; 1; 2) Retorna "DO"

2 °) Passo, INTERPRETAR A ROTINA

Private Sub cbtA_Click()
pri = cbtA.Caption - Armazenamos na Variável pri a Letra do Botão Clicado
Call Adicionar(pri) - Chamamos a Rotina Adicionar
End Sub

Sub Adicionar(pri) - (Entre parentes o Valor da Variável armazenada)

ComboBox1.Clear (Limpar o ComboBox1)

lin = 1 (Variavel para a Linha - Iniciando na Linha 1)

Do While Sheets("Plan1").Cells(lin, 1) <> ""
Fazer Enquanto Sheets("Plan1").Celula(Linha, Coluna) for Diferente de Vazio)

If Mid(Sheets("Plan1").Cells(lin, 1), 1, 1) <> pri Then
Se a Primeira Letra da Celula(Linha, Coluna) for Diferente da que está na Variável pri Então
Não Fazemos nada, e :
lin = lin + 1 (Incrementamos a Variável Linha com + 1 - Proxima Linha)

Else (Se Não ...)
ou seja a Primeira Letra da Celula(Linha, Coluna) é IGUAL a que está na Variável pri
ComboBox1.AddItem Sheets("Plan1").Cells(lin, 1)
Adicionamos no ComboBox1 o Conteúdo que se encontra na Celula(Linha, Coluna) correspondente
lin = lin + 1 (Incrementamos a Variável Linha com + 1 - Proxima Linha)
End If
Loop (Laço, Retorno ao inicio)

End Sub

Espero que não me entenda errado, é só mais uma dica, pois, se nos acostumarmos a Interpretar as Rotinas da forma citada acima, verá que tudo fica mais fácil, lógico que existem outras mais complexas, mas com o tempo nos ajustamos.

abraços

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 18/07/2011 7:33 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

VLW!

E de forma nenhuma poderia te levar a mal.

Tenho aprendido muito com vcs.

Até procurei na ajuda do excel mas não entendi muito bem.

Tenho andado cançado pacas e minha mente ta dando but(sei que isso não é desculpa, apenas um fato)

Imagina que confundi Cell(lin,1) Com OffSet :(

E a função MID deu um nó que me perdi...

Agora ta claro.

Muito obrigado.

As vezes perco um pouco o foco e não consigo ver oque ta na minha frente.

Brigadão mesmo!!! :D :D :D

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 18/07/2011 7:48 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Boa tarde Mauro

Nossa, que aula heim..
Nunca encontrei algo em VBA tão detalhado assim.
Gostei, espero ver mais aulas dessas...
Parabéns!

Um abraço.

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 18/07/2011 11:06 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 


Mauro...
"permissão" sempre!

Estou com o Patropi...!

Verdadeira aula...

8-)

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 18/07/2011 12:07 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Perfeito ! Resolvi meu problema e, de quebra, ganhei uma aula de alto nível. Obrigado !!! :mrgreen:

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 19/07/2011 12:53 pm