Uklanjanje duplikata u programu Excel VBA - Jednostavni makroi programa Excel

Sadržaj

U nastavku ćemo pogledati program u Excel VBA da uklanja duplikate.

Situacija:

U stupcu A imamo 10 brojeva. Želimo ukloniti duplikate s ovih brojeva i postaviti jedinstvene brojeve u stupac B.

1. Prvo, deklariramo četiri varijable. toAdd tipa Boolean, uniqueNumbers tipa Integer, i tipa Integer i j tipa Integer.

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

2. Zatim upisujemo prvi broj stupca A u stupac B budući da je prvi broj uvijek 'jedinstven'.

Stanice (1, 2) .Vrijednost = Ćelije (1, 1) .Vrijednost

3. Pokrećemo dvije varijable. Upravo smo dodali jedan broj u stupac B, pa inicijaliziramo uniqueNumbers s vrijednošću 1. Postavili smo naAdd na True pretpostavljajući da je potrebno dodati i sljedeći broj (to naravno nije nužno točno).

jedinstveni brojevi = 1
toAdd = Istina

Moramo utvrditi je li drugi broj 'jedinstven' ili nije. To se može učiniti na vrlo jednostavan način. Samo ako broj već nije u stupcu B, drugi broj treba dodati u stupac B.

4. Ovo također moramo provjeriti za treći broj, četvrti broj itd. Za to započinjemo petlju For Next.

Za i = 2 do 10

5. Sada slijedi najvažniji dio programa. Ako je drugi broj jednak jednom od brojeva u stupcu B (do sada imamo samo jedan jedinstveni broj), postavili smo naDodaj na Netačno jer u ovom slučaju ne želimo dodati ovaj broj! (nije 'jedinstven'). Trenutno je jedinstveni broj još uvijek jednak 1, ali jedinstveni brojevi mogu biti cijeli popis. Za provjeru cijelog ovog popisa potrebna nam je još jedna petlja For Next. Opet: ako je broj koji želimo dodati jednak jednom od brojeva na ovom popisu, toAdd će biti postavljeno na Netačno i broj neće biti dodan. Dodajte sljedeće retke koda:

Za j = 1 Za jedinstvene brojeve
Ako su ćelije (i, 1) .Vrijednost = ćelije (j, 2) .Vrijednost Zatim
toAdd = Netačno
Završi ako
Sljedeće j

6. Samo ako je toAdd još uvijek True i nije postavljeno na False, Excel VBA mora dodati broj u stupac B. Istodobno povećavamo uniqueNumbers za 1 jer sada imamo još jedan jedinstveni broj više. Sljedeće linije koda obavljaju posao:

Ako je toAdd = Tačno
Ćelije (jedinstveni brojevi + 1, 2). Vrijednost = Ćelije (i, 1). Vrijednost
jedinstveni brojevi = jedinstveni brojevi + 1
Završi ako

7. Konačno, postavili smo naDodaj u True pod pretpostavkom da je potrebno dodati sljedeći broj (treći broj). Ovo opet nije nužno istina.

toAdd = Istina

8. Ne zaboravite zatvoriti petlju.

Sljedeći i

9. Postavite svoj makro u naredbeni gumb i testirajte ga.

Proizlaziti:

Vi ćete pomoći u razvoju web stranice, dijeljenje stranicu sa svojim prijateljima

wave wave wave wave wave