Amigos, sou iniciante no mundo do VBA e muitas coisas ainda são um mistério para mim.
Atualmente precisei de um código para ordenar uma Combobox em ordem alfabética e facilmente encontrei em fóruns e dando uma "googada" por ai.
O código mais famoso e aparentemente, mais eficiente que eu encontrei foi esse:
Dim contA As Integer
Dim contP As Integer
Dim menor As String
Dim Elem As Integer
Elem = ComboBox1.ListCount
For contA = 0 To Elem - 2
For contP = contA + 1 To Elem - 1
If ComboBox1.List(contA) > ComboBox1.List(contP) Then
menor = ComboBox1.List(contP)
ComboBox1.List(contP) = ComboBox1.List(contA)
ComboBox1.List(contA) = menor
End If
Next contP
Next contA
Realmente, ele funciona!
Pega os dados de uma planilha e insere em uma combobox em ordem alfabética.
Seria perfeito, não fosse um detalhe muito importante:
Ele não organiza muito bem dados que contenham acentos gráfico e "Ç".
Ele entende, por exemplo, que "T" vem antes de "Ç", ou até mesmo que "Z", vêm antes de "Á"
Fiz um exemplo bem simples e estou anexando ele para que os amigos mais velhos em VBA possam me dar uma luz!
O que está errado?
A lógica de organização alfabética do VBA é essa mesma?
O código que estou tentando aplicar possui falhas?
Por favor, quem puder dar essa "aula" pra gente, iria ser de grande ajuda, pois não existe nada na internet que explique isso!
Um forte abraço e desde já agradeço aos amigos!
"O impossível, é só uma questão de tempo"
Postado : 28/06/2013 7:08 am