Poista kaksoiskappaleet Excel VBA - Easy Excel -makroissa

Sisällysluettelo

Alla tarkastelemme ohjelmaa Excel VBA että poistaa kaksoiskappaleet.

Tilanne:

Sarakkeessa A on 10 numeroa. Haluamme poistaa kaksoiskappaleet näistä numeroista ja sijoittaa yksilölliset numerot sarakkeeseen B.

1. Ensin ilmoitamme neljä muuttujaa. toAdd tyyppi Boolean, uniqueNumbers of type Integer, i of type of Integer, and j type of Integer.

Dim to Add Boolean, uniqueNumbers As Integer, i As Integer, j Kuten Integer

2. Seuraavaksi kirjoitamme sarakkeen A ensimmäisen numeron sarakkeeseen B, koska ensimmäinen numero on aina 'ainutlaatuinen'.

Solut (1, 2). Arvo = Solut (1, 1). Arvo

3. Alustamme kaksi muuttujaa. Olemme juuri lisänneet yhden numeron sarakkeeseen B, joten alustamme yksilölliset numerot arvolla 1. Asetamme arvoksi Add to True olettaen, että myös seuraava numero on lisättävä (tämä ei tietenkään ole välttämättä totta).

uniqueNumbers = 1
toAdd = Totta

Meidän on määritettävä, onko toinen numero ainutlaatuinen vai ei. Tämä voidaan tehdä erittäin helposti. Vain jos numero ei ole jo sarakkeessa B, toinen numero on lisättävä sarakkeeseen B.

4. Meidän on myös tarkistettava tämä kolmas numero, neljäs numero ja niin edelleen. Aloitamme For For Next -silmukan tätä varten.

I = 2-10

5. Nyt tulee ohjelman tärkein osa. Jos toinen numero on sama kuin yksi sarakkeen B numeroista (toistaiseksi meillä on vain yksi yksilöllinen numero), asetamme arvoon Add to False, koska tässä tapauksessa emme halua lisätä tätä numeroa! (se ei ole "ainutlaatuinen"). Tällä hetkellä ainutlaatuiset numerot ovat edelleen yhtä kuin 1, mutta yksilölliset numerot voivat olla koko luettelo. Koko luettelon tarkistamiseksi tarvitsemme toisen For Next -silmukan. Jälleen: jos lisättävä luku on yhtä tämän luettelon numeroista, toDd -arvoksi asetetaan False ja numeroa ei lisätä. Lisää seuraavat koodirivit:

Jos j = 1 yksilöllisiin numeroihin
Jos Solut (i, 1). Arvo = Solut (j, 2). Arvo Sitten
toAdd = False
Loppu Jos
Seuraava j

6. Vain jos toAdd on edelleen tosi eikä asetettu arvoon False, Excel VBA: n on lisättävä numero sarakkeeseen B. Samalla lisäämme yksilöllisiä numeroita yhdellä, koska meillä on nyt yksi yksilöllinen numero enemmän. Seuraavat koodirivit suorittavat työn:

Jos toAdd = True then
Solut (ainutlaatuiset numerot + 1, 2). Arvo = Solut (i, 1). Arvo
ainutlaatuiset numerot = yksilölliset numerot + 1
Loppu Jos

7. Lopuksi asetamme arvoon Add to True olettaen, että seuraava numero (kolmas numero) on lisättävä. Jälleen tämä ei välttämättä ole totta.

toAdd = Totta

8. Älä unohda sulkea silmukkaa.

Seuraavaksi minä

9. Aseta makro komentopainikkeeseen ja testaa se.

Tulos:

Tulet auttaa kehittämään sivuston jakaminen sivu ystävillesi

wave wave wave wave wave