Returnează elemente unice folosind VBA în Microsoft Excel

Cuprins

În acest articol, vom crea o macro pentru a extrage valori unice din intervalul definit.

Datele brute pentru acest exemplu constau în intrări duplicate ale numelor țărilor din intervalul A7: A21.

Am creat macrocomanda „FindUniqueValues” pentru a extrage valori unice din intervalul definit. Această macrocomandă poate fi rulată făcând clic pe butonul „Trimiteți”. Înainte de a face clic pe butonul „Trimiteți”, trebuie să specificăm adresa intervalului care conține date duplicate în celula H9 și adresa destinației unde ar trebui să apară ieșirea.

Explicație logică

Macro-ul „FindUniqueValues” ia două obiecte de gamă ca parametri de intrare. Primul parametru definește intervalul care conține datele duplicate și al doilea parametru definește poziția celulei de pornire care va conține ieșirea. Această macro nu poate fi apelată direct, deoarece trebuie să specificăm parametrii, așa că am creat a doua macro „MacroRunning” pentru a apela macro-ul.

Macrocomanda „MacroRunning” apelează macrocomanda „FindUniqueValues” cu parametrul introdus de utilizator.

Explicarea codului

SourceRange.AdvancedFilter Action: = xlFilterCopy, _

CopyToRange: = TargetCell, Unique: = True

Metoda AdvancedFilter a obiectului Range este utilizată pentru a filtra sau copia date din interval pe baza unui anumit criteriu. Pentru a copia doar valorile unice, trebuie să setăm parametrul unic al AdvancedFilter la True.

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

 Opțiune Explicit Sub FindUniqueValues ​​(SourceRange As Range, TargetCell As Range) 'Utilizarea filtrului avansat pentru extinderea elementelor unice din gama sursă SourceRange.AdvancedFilter Action: = xlFilterCopy, _ CopyToRange: = TargetCell, Unique: = True End Sub Sub MacroRunning ()' Apelare macro FindUniqueValues ​​Apel FindUniqueValues ​​(Range (Range ("H9"). Value), Range (Range ("H10"). Value)) End Sub 

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