Găsirea valorilor unice folosind VBA în Microsoft Excel

Cuprins

În acest articol, vom crea o funcție personalizată pentru a găsi valori unice din intervalul definit.

Datele brute pentru acest exemplu constau din intrări duplicate ale numelui țării în intervalul A8: A21.

Explicație logică

Am creat o funcție personalizată „UniqueItem” pentru a extrage valorile unice din interval. Această funcție ia doi parametri ca intrare. Primul parametru este intervalul care constă din datele duplicate, iar al doilea parametru definește numărul de index al unei valori unice din colecția unică.

Această funcție returnează valoarea unică din intervalul bazat pe numărul de index. Al doilea parametru este un parametru opțional, dacă al doilea parametru nu este specificat, atunci funcția returnează numărul de valoare unică din intervalul definit.

Dacă valoarea definită pentru al doilea parametru este mai mare decât numărul de valori unice din interval, atunci ultima valoare unică este returnată de funcție.

Explicarea codului

La eroare Reluați în continuare

Pentru fiecare CellValue din InputRange

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

Următorul

La eroare GoTo 0

Codul de mai sus este utilizat pentru a crea obiect de colecție care va conține o valoare unică din intervalul definit. Instrucțiunile „On Error” sunt utilizate pentru a gestiona erorile, deoarece atunci când codul încearcă să introducă valori duplicat în colecție, colecția va genera o eroare.

Vă rugăm să urmați codul de mai jos

 Opțiune Funcție explicită 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 'Adăugarea de elemente unice la colecția din intervalul definit Pentru fiecare CellValue InputRange CUnique .Adăugați CellValue.Value, CStr (CellValue.Value) Next On Error GoTo 0 'Obținerea numărului de element unic din colecție UCount = CUnique.Count Dacă ItemNo = 0 Atunci' Returnarea numărului de element unic UniqueItem = UCount ElseIf ItemNo <= UCount Apoi „Returnarea valorii unice pe baza numărului de articol UniqueItem = CUnique (ItemNo) Else” Returnarea ultimei valori unice UniqueItem = CUnique (UCount) End If End Function 

Dacă ți-a plăcut acest blog, distribuie-l prietenilor tăi de pe Facebook. De asemenea, ne puteți urmări pe Twitter și Facebook.

Ne-ar plăcea să aflăm de la dvs., să ne anunțați cum putem îmbunătăți munca noastră și o putem îmbunătăți. Scrieți-ne pe site-ul de e-mail

Vei ajuta la dezvoltarea site-ului, partajarea pagina cu prietenii

wave wave wave wave wave