Pašalinkite dublikatus „Excel VBA“ - „Easy Excel“ makrokomandos

Turinys

Žemiau apžvelgsime programą Excel VBA kad pašalina dublikatus.

Situacija:

A stulpelyje turime 10 skaičių. Norime pašalinti šių skaičių dublikatus ir unikalius numerius patalpinti B stulpelyje.

1. Pirmiausia deklaruojame keturis kintamuosius. toAdd tipo Boolean, uniqueNumbers tipo Integer, i tipo Integer ir j tipo Integer.

Dim toAdd As Boolean, uniqueNumbers As Integer, i As Integer, j As Integer

2. Tada pirmąjį A stulpelio numerį įrašome į B stulpelį, nes pirmasis skaičius visada yra „unikalus“.

Ląstelės (1, 2). Vertė = ląstelės (1, 1). Vertė

3. Inicijuojame du kintamuosius. Mes ką tik pridėjome vieną skaičių prie B stulpelio, todėl inicializuojame unikalius skaičius, kurių vertė yra 1. Nustatome į Pridėti prie tikros, darant prielaidą, kad reikia pridėti ir kitą skaičių (žinoma, tai nebūtinai tiesa).

unikalūs skaičiai = 1
toAdd = Tiesa

Turime nustatyti, ar antrasis skaičius yra „unikalus“, ar ne. Tai galima padaryti labai paprastai. Tik jei numeris dar nėra B stulpelyje, antrą skaičių reikia pridėti prie B stulpelio.

4. Taip pat turime patikrinti, ar nėra trečiojo, ketvirtojo skaičiaus ir pan. Tam mes pradedame „For Next“ ciklą.

Jei i = nuo 2 iki 10

5. Dabar ateina svarbiausia programos dalis. Jei antrasis skaičius yra lygus vienam iš skaičių B stulpelyje (kol kas turime tik vieną unikalų skaičių), mes nustatome į Pridėti prie klaidingos, nes šiuo atveju nenorime pridėti šio skaičiaus! (jis nėra „unikalus“). Šiuo metu unikalus skaičius vis dar lygus 1, tačiau unikalus numeris gali būti visas sąrašas. Norėdami patikrinti visą šį sąrašą, mums reikia kitos „For Next“ kilpos. Dar kartą: jei skaičius, kurį norime pridėti, yra lygus vienam iš šio sąrašo skaičių, toAdd bus nustatytas kaip False ir skaičius nebus pridėtas. Pridėkite šias kodo eilutes:

J = 1 iki unikalių skaičių
Jei langeliai (i, 1) .Vertybė = ląstelės (j, 2) .Verta Tada
toAdd = Netiesa
Pabaiga Jei
Kitas j

6. Tik tuo atveju, jei „ToAdd“ vis dar yra „True“ ir nenustatyta „False“, „Excel VBA“ turi pridėti skaičių prie stulpelio B. Tuo pačiu metu unikalius skaičius padidiname 1, nes dabar turime dar vieną unikalų skaičių. Darbui atlikti naudojamos šios kodo eilutės:

If toAdd = Tiesa tada
Ląstelės (unikalūs skaičiai + 1, 2). Vertė = langeliai (i, 1). Vertė
unikalūs numeriai = unikalūs numeriai + 1
Pabaiga Jei

7. Galiausiai, mes nustatėme į Pridėti prie tikros, darant prielaidą, kad reikia pridėti kitą skaičių (trečiąjį skaičių). Vėlgi, tai nebūtinai yra tiesa.

toAdd = Tiesa

8. Nepamirškite uždaryti kilpos.

Kitas I.

9. Įdėkite makrokomandą į komandų mygtuką ir išbandykite.

Rezultatas:

Padėsite svetainės plėtrą, dalintis puslapį su draugais

wave wave wave wave wave