Neste artigo, criaremos uma função personalizada para encontrar valores exclusivos do intervalo definido.
Os dados brutos para este exemplo consistem em entradas duplicadas do nome do país no intervalo A8: A21.
Explicação lógica
Criamos uma função personalizada “UniqueItem” para extrair os valores exclusivos do intervalo. Esta função leva dois parâmetros como entrada. O primeiro parâmetro é o intervalo que consiste nos dados duplicados e o segundo parâmetro define o número do índice de um valor exclusivo na coleção exclusiva.
Esta função retorna o valor exclusivo do intervalo com base no número do índice. O segundo parâmetro é um parâmetro opcional, se o segundo parâmetro não for especificado, a função retorna o número do valor exclusivo no intervalo definido.
Se o valor definido para o segundo parâmetro for maior que o número de valores exclusivos no intervalo, o último valor exclusivo é retornado pela função.
Explicação do código
Em caso de erro, continuar próximo
Para cada CellValue em InputRange
CUnique.Add CellValue.Value, CStr (CellValue.Value)
Próximo
No erro GoTo 0
O código acima é usado para criar um objeto de coleção que conterá um valor único do intervalo definido. As declarações “On Error” são usadas para tratar erros, pois quando o código tenta colocar valores duplicados na coleção, a coleção irá gerar um erro.
Siga abaixo para o código
Opção Explicit Função UniqueItem (InputRange As Range, Optional ItemNo As Integer = 0) As Variant Dim CellValue As Range Dim CUnique As New Collection Dim UCount As Integer On Error Resume Next 'Adicionando itens exclusivos à coleção a partir do intervalo definido Para Cada CellValue In InputRange CUnique .Add CellValue.Value, CStr (CellValue.Value) Next On Error GoTo 0 'Obtendo contagem de item exclusivo na coleção UCount = CUnique.Count If ItemNo = 0 Then' Retornando contagem de item exclusivo UniqueItem = UCount ElseIf ItemNo <= UCount Then 'Retornando valor exclusivo com base no número do item UniqueItem = CUnique (ItemNo) Else' Retornando o último valor exclusivo UniqueItem = CUnique (UCount) End If 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