Classificação de dados de texto em ordem alfabética usando VBA no Microsoft Excel

Anonim

Neste artigo, criaremos uma função personalizada para classificar os dados em ordem alfabética.

Os dados brutos consistem em nomes aleatórios que queremos classificar.

Explicação lógica

Criamos a função personalizada “SortString” para classificar os dados em ordem alfabética. Ele pega o intervalo de origem e a posição como entradas e retorna valores com base na posição especificada. Esta função primeiro cria uma matriz classificada e, em seguida, a posição especificada é usada para extrair o valor necessário da matriz classificada.

Explicação do código

UBound (valores)

A função acima é usada para obter a contagem do número de valores dentro da matriz.

valores (j) = valores (j - 1)

O código acima é usado para deslocar os valores da matriz em um índice.

Siga abaixo para o código

 Opção Explicit Função SortString (Source As Range, Position As Long) As String 'Declarando variáveis ​​Dim Cell As Range Dim values ​​() As String Dim i As Long, j As Long Dim Feito como Boolean ReDim values ​​(1 a 1)' Looping through todas as células no intervalo For Each Cell In Source Done = False i = 1 'Criando uma matriz de nome classificado Do If Cell.Value <values ​​(i) Then Done = True Else i = i + 1 End If Loop While Done = False E i <= UBound (valores) ReDim Preserve valores (1 para UBound (valores) + 1) If i <= UBound (valores) Then 'Ajustando o valor na matriz de nomes classificados Para j = UBound (valores) Para i + 1 Etapa - 1 valores (j) = valores (j - 1) Next j End If valores (i) = Cell.Value Next Cell 'Atribuição do valor da posição necessária SortString = valores (Posição + 1) End Function 

Se você gostou deste blog, compartilhe com seus amigos no Facebook. Além disso, você pode nos seguir no Twitter e no Facebook.

Gostaríamos muito de ouvir de você, diga-nos como podemos melhorar nosso trabalho e torná-lo melhor para você. Escreva para nós no site de e-mail