Encontrar valores únicos usando VBA en Microsoft Excel

Tabla de contenido

En este artículo, crearemos una función personalizada para encontrar valores únicos del rango definido.

Los datos sin procesar para este ejemplo consisten en entradas duplicadas del nombre del país en el rango A8: A21.

Explicación lógica

Hemos creado una función personalizada "UniqueItem" para extraer los valores únicos del rango. Esta función toma dos parámetros como entrada. El primer parámetro es el rango que consta de los datos duplicados y el segundo parámetro define el número de índice de un valor único en la colección única.

Esta función devuelve el valor único del rango basado en el número de índice. El segundo parámetro es un parámetro opcional, si no se especifica el segundo parámetro, la función devuelve el número de valor único en el rango definido.

Si el valor definido para el segundo parámetro es mayor que el número de valores únicos en el rango, la función devuelve el último valor único.

Explicación del código

En caso de error, reanudar siguiente

Para cada CellValue en InputRange

CUnique.Add CellValue.Value, CStr (CellValue.Value)

próximo

En caso de error, vaya a 0

El código anterior se usa para crear un objeto de colección que contendrá un valor único del rango definido. Las declaraciones "On Error" se utilizan para manejar errores, ya que cuando el código intenta poner valores duplicados en la colección, la colección generará un error.

Siga a continuación para obtener el código

 Opción Función explícita UniqueItem (InputRange como rango, ItemNo opcional como entero = 0) Como variante Dim CellValue como rango Dim CUnique Como nueva colección Dim UCount como entero en caso de error Continuar siguiente 'Agregar elementos únicos a la colección desde el rango definido para cada CellValue en InputRange CUnique .Add CellValue.Value, CStr (CellValue.Value) Next On Error GoTo 0 'Obteniendo el recuento de un elemento único en la colección UCount = CUnique.Count If ItemNo = 0 Then' Devolviendo el recuento de un elemento único UniqueItem = UCount ElseIf ItemNo <= UCount Luego 'Devolviendo un valor único basado en el número de artículo UniqueItem = CUnique (ItemNo) Else' Devolviendo el último valor único UniqueItem = CUnique (UCount) End If End Function 

Si te gustó este blog, compártelo con tus amigos en Facebook. Además, puede seguirnos en Twitter y Facebook.

Nos encantaría saber de usted, háganos saber cómo podemos mejorar nuestro trabajo y hacerlo mejor para usted. Escríbanos al sitio de correo electrónico

Va a ayudar al desarrollo del sitio, compartir la página con sus amigos

wave wave wave wave wave