Nasumično razvrstavanje podataka u Excelu VBA - Jednostavne makronaredbe programa Excel

Sadržaj

U nastavku ćemo pogledati program u Excel VBA da nasumično sortira podatke (u ovom primjeru nasumično sortira imena).

Situacija:

1. Prvo, deklariramo četiri varijable. Jednu varijablu tipa String nazivamo TempString, jednu varijablu tipa Integer nazivamo TempInteger, jednu varijablu tipa Integer nazivamo i, a jednu varijablu tipa Integer nazivamo j.

Dim tempString As String, tempInteger kao cijeli broj, i kao cijeli broj, j kao cijeli broj

2. U stupac B upisujemo 5 slučajnih brojeva (po jedan za svako ime). Za to koristimo funkciju radnog lista RandBetween.

Za i = 1 do 5
Ćelije (i, 2) .Vrijednost = Funkcija radnog lista.RandBetween (0, 1000)
Sljedeći i

Dosadašnji rezultat:

Za sortiranje imena koristit ćemo brojeve pored svakog imena. Ime s najnižim brojem prvo, ime s drugim najnižim brojem, drugo itd.

3. Pokrećemo Double Loop.

Za i = 1 do 5
Za j = i + 1 do 5

4. Dodajte sljedeći kodni redak:

Ako su ćelije (j, 2) .Vrijednost <ćelije (i, 2) .Vrijednost Zatim

Primjer: za i = 1 i j = 2 uspoređuju se Wendy i Richard. Budući da Richard ima manji broj, zamijenili smo Wendy i Richarda. Richard je sada na prvom mjestu. Za i = 1 i j = 3 uspoređuju se Richard i Joost. Joost ima veći broj pa se ništa ne događa. Na taj način Excel VBA dobiva ime s najmanjim brojem na prvom mjestu. Za i = 2, Excel VBA dobiva naziv s drugim najnižim brojem na drugoj poziciji itd.

5. Ako je točno, mijenjamo imena.

tempString = Ćelije (i, 1) .Vrijednost
Stanice (i, 1) .Vrijednost = Ćelije (j, 1) .Vrijednost
Ćelije (j, 1) .Vrijednost = tempString

6. I mijenjamo brojeve.

tempInteger = Ćelije (i, 2) .Vrijednost
Stanice (i, 2) .Vrijednost = Ćelije (j, 2) .Vrijednost
Stanice (j, 2) .Vrijednost = tempInteger

7. Ne zaboravite zatvoriti naredbu If.

Završi ako

8. Ne zaboravite zatvoriti dvije petlje.

 Sljedeće j
Sljedeći i

9. Testirajte program.

Proizlaziti:

Napomena: možete dodati redak koji briše brojeve u stupcu B. Još je ljepše postaviti brojeve svakog imena u niz, tako da se brojevi ne stavljaju na vaš radni list. Međutim, radi ilustracije, odabrali smo postavljanje vrijednosti na list.

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

wave wave wave wave wave