Unikaalsete üksuste tagastamine Microsoft Excelis VBA abil

Anonim

Selles artiklis loome makro, et eraldada määratletud vahemikust unikaalsed väärtused.

Selle näite toorandmed koosnevad riikide nimede duplikaatkirjetest vahemikus A7: A21.

Oleme loonud makro „FindUniqueValues”, et eraldada määratletud vahemikust unikaalseid väärtusi. Seda makro saab käivitada, klõpsates nuppu "Esita". Enne nupul „Esita” klõpsamist peame täpsustama selle vahemiku aadressi, mis sisaldab lahtris H9 topeltandmeid, ja sihtkoha aadressi, kus väljund peaks ilmuma.

Loogiline seletus

Makro „FindUniqueValues” kasutab sisendparameetritena kahte vahemiku objekti. Esimene parameeter määrab vahemiku, mis sisaldab duplikaatandmeid, ja teine ​​parameeter määratleb väljundit sisaldava lähteraku asukoha. Seda makro ei saa otse kutsuda, kuna peame parameetrid täpsustama, seega oleme loonud makro nimetamiseks teise makro “MacroRunning”.

Makro „MacroRunning” kutsub makro „FindUniqueValues” koos kasutaja sisestatud parameetriga.

Koodi selgitus

SourceRange.AdvancedFilter Action: = xlFilterCopy, _

CopyToRange: = TargetCell, Unique: = True

Range objekti AdvancedFilter meetodit kasutatakse vahemikus andmete filtreerimiseks või kopeerimiseks teatud kriteeriumide alusel. Ainult unikaalsete väärtuste kopeerimiseks peame määrama AdvancedFilter'i kordumatu parameetri väärtuseks True.

Palun järgige koodi allpool

 Valik Explicit Sub FindUniqueValues ​​(SourceRange As Range, TargetCell As Range) 'Eelfiltri kasutamine ainulaadsete üksuste hankimiseks allikavahemikus SourceRange.AdvancedFilter Action: = xlFilterCopy, _ CopyToRange: = TargetCell, Unique: = True End Sub Sub MacroRunning (') Makro FindUniqueValues ​​helistamine Helista FindUniqueValues ​​(Vahemik (vahemik ("H9"). Väärtus), vahemik (vahemik ("H10"). Väärtus)) Lõpu alam 

Kui teile see blogi meeldis, jagage seda oma sõpradega Facebookis. Lisaks saate meid jälgida Twitteris ja Facebookis.

Tahaksime sinust kuulda, andke meile teada, kuidas saaksime oma tööd paremaks muuta ja teie jaoks paremaks muuta. Kirjuta meile meilisaidile