Lajittele tiedot satunnaisesti Excel VBA - Easy Excel -makrot

Sisällysluettelo

Alla tarkastelemme ohjelmaa Excel VBA että lajittelee tiedot satunnaisesti (tässä esimerkissä lajittelee nimet satunnaisesti).

Tilanne:

1. Ensin ilmoitamme neljä muuttujaa. Yksi muuttuja tyyppi String kutsumme TempString, yksi muuttuja tyyppi Integer kutsumme TempInteger, yksi muuttuja tyyppi Integer kutsumme i, ja yksi muuttuja tyyppi Integer kutsumme j.

Dim tempString kuten merkkijono, tempInteger kokonaislukuna, i kokonaislukuna, j kokonaislukuna

2. Kirjoitamme sarakkeeseen B 5 satunnaislukua (yksi kullekin nimelle). Käytämme tähän laskentataulukkofunktiota RandBetween.

I = 1 - 5
Solut (i, 2). Arvo = WorksheetFunction.RandBetween (0, 1000)
Seuraavaksi minä

Tulos tähän mennessä:

Käytämme nimien lajittelussa kunkin nimen vieressä olevia numeroita. Nimi, jolla on ensin pienin numero, toiseksi pienin numero, toinen jne.

3. Aloitamme kaksinkertaisen silmukan.

I = 1 - 5
Jos j = i + 1 - 5

4. Lisää seuraava koodirivi:

Jos Solut (j, 2). Arvo <Solut (i, 2). Arvo Sitten

Esimerkki: kun i = 1 ja j = 2, Wendyä ja Richardia verrataan. Koska Richardilla on pienempi numero, vaihdamme Wendyn ja Richardin. Richard on nyt ensimmäisellä sijalla. Jos i = 1 ja j = 3, Richardia ja Joostia verrataan. Joostilla on suurempi luku, joten mitään ei tapahdu. Tällä tavalla Excel VBA saa nimen, jolla on pienin numero ensimmäisessä paikassa. Jos i = 2, Excel VBA saa nimen, jolla on toiseksi pienin numero toisessa paikassa jne.

5. Jos totta, vaihdamme nimet.

tempString = Solut (i, 1). Arvo
Solut (i, 1). Arvo = Solut (j, 1). Arvo
Solut (j, 1). Arvo = tempString

6. Ja vaihdamme numerot.

tempInteger = Solut (i, 2). Arvo
Solut (i, 2). Arvo = Solut (j, 2). Arvo
Solut (j, 2). Arvo = tempInteger

7. Muista sulkea If -lause.

Loppu Jos

8. Älä unohda sulkea kahta silmukkaa.

 Seuraava j
Seuraavaksi minä

9. Testaa ohjelma.

Tulos:

Huomautus: voit lisätä rivin, joka poistaa sarakkeen B numerot. On vielä mukavampaa sijoittaa jokaisen nimen numerot taulukkoon, joten laskentataulukkoon ei lisätä numeroita. Havainnollistamiseksi olemme kuitenkin päättäneet sijoittaa arvot taulukkoon.

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

wave wave wave wave wave