Duplikaatide eemaldamine Excel VBA - lihtsad Exceli makrod

Lang L: none (table-of-contents)

Allpool vaatame programmi Exceli VBA seda eemaldab duplikaadid.

Olukord:

Veerus A on meil 10 numbrit. Soovime nendelt numbritelt duplikaadid eemaldada ja unikaalsed numbrid paigutada veergu B.

1. Esiteks deklareerime neli muutujat. toAdd tüübist Boolean, uniqueNumbers täisarvuga, i tüüpi täisarvuga ja j tüüpi täisarvuga.

Dim toLisata tõeväärtusena, unikaalsed numbrid täisarvuna, i täisarvuna, j täisarvuna

2. Järgmisena kirjutame veeru A esimese numbri veergu B, kuna esimene number on alati unikaalne.

Lahtrid (1, 2). Väärtus = Lahtrid (1, 1). Väärtus

3. Initsialiseerime kaks muutujat. Lisasime äsja veergu B ühe numbri, seega lähtestame unikaalsed numbrid väärtusega 1. Seadistame väärtusele Add to True eeldades, et tuleb lisada ka järgmine number (see ei pruugi muidugi tõsi olla).

unikaalsed numbrid = 1
toAdd = Tõsi

Peame kindlaks tegema, kas teine ​​number on „ainulaadne” või mitte. Seda saab teha väga lihtsal viisil. Ainult siis, kui number pole veel veerus B, tuleb veergu B lisada teine ​​number.

4. Peame seda kontrollima ka kolmanda numbri, neljanda numbri jne osas. Alustame selle jaoks järgmiseks tsüklit.

I = 2 kuni 10

5. Nüüd tuleb programmi kõige olulisem osa. Kui teine ​​number on võrdne ühega veerus B olevast numbrist (siiani on meil ainult üks kordumatu number), seadistame väärtuseks Add to False, sest sel juhul ei soovi me seda numbrit lisada! (see pole "ainulaadne"). Praegu on unikaalsed numbrid võrdsed 1 -ga, kuid unikaalsed numbrid võivad olla terve loend. Kogu selle loendi kontrollimiseks vajame teist järgmist tsüklit. Jällegi: kui number, mida soovime lisada, on võrdne ühega selles loendis olevast numbrist, määratakse toAdd väärtuseks Väär ja numbrit ei lisata. Lisage järgmised koodiridad:

J = 1 jaoks Unikaalsed numbrid
Kui Lahtrid (i, 1) .Väärtus = Lahtrid (j, 2) .Väärtus Siis
toAdd = Vale
Lõpp Kui
Järgmine j

6. Ainult siis, kui toAdd on ikka tõene ja pole määratud väärtusele Väär, peab Excel VBA lisama veergu B numbri. Samal ajal suurendame unikaalseid numbreid 1 võrra, sest meil on praegu üks kordumatu number rohkem. Töö saavad tehtud järgmised koodiridad:

Kui toAdd = True, siis
Lahtrid (unikaalsed numbrid + 1, 2). Väärtus = lahtrid (i, 1). Väärtus
unikaalsed numbrid = unikaalsed numbrid + 1
Lõpp Kui

7. Lõpuks seadsime väärtusele Add to True, eeldades, et järgmine number (kolmas number) tuleb lisada. Jällegi pole see tingimata tõsi.

toAdd = Tõsi

8. Ärge unustage silmust sulgeda.

Edasi i

9. Asetage oma makro käsunuppu ja katsetage seda.

Tulemus:

Te aitate arengu ala, jagades leht oma sõpradega

wave wave wave wave wave