300 Exemple

Sortare aleatorie a datelor

Randomly Sort Data

Mai jos vom analiza un program în Excel VBA acea sortează aleatoriu datele (în acest exemplu sortează aleatoriu numele).





Situatie:

Sortarea aleatorie a datelor în Excel VBA





1. În primul rând, declarăm patru variabile. O variabilă de tip String o numim TempString, o variabilă de tip Integer o numim TempInteger, o variabilă de tip Integer o numim i și o variabilă de tip Integer o numim j.

Nici unultempStringLa fel de Şir, tempIntegerLa fel de Întreg, iLa fel de Întreg, jLa fel de Întreg

2. Scriem 5 numere aleatorii în coloana B (unul pentru fiecare nume). Pentru aceasta folosim funcția de foaie de lucru RandBetween.



Pentrui = 1La5
Celule (i, 2) .Value = WorksheetFunction.RandBetween (0, 1000)
Următoruleu

Rezultatul de până acum:

Excel numără valori unice cu mai multe criterii

Rezultatul de până acum

Vom folosi numerele de lângă fiecare nume pentru a sorta numele. Numele cu cel mai mic număr primul, numele cu al doilea număr cel mai mic, al doilea etc.

3. Începem un Buclă dublă .

cum se adaugă o lună la o dată în Excel
Pentrui = 1La5
Pentruj = i + 1La5

4. Adăugați următoarea linie de cod:

DacăCelule (j, 2). ValoareAtunci

Exemplu: pentru i = 1 și j = 2, se compară Wendy și Richard. Deoarece Richard are un număr mai mic, îi schimbăm pe Wendy și Richard. Richard se află acum pe prima poziție. Pentru i = 1 și j = 3, se compară Richard și Joost. Joost are un număr mai mare, așa că nu se întâmplă nimic. În acest fel, Excel VBA primește numele cu cel mai mic număr în prima poziție. Pentru i = 2, Excel VBA primește numele cu al doilea număr cel mai mic la a doua poziție etc.

5. Dacă este adevărat, noi swap numele.

tempString = Celule (i, 1). Valoare
Celule (i, 1). Valoare = Celule (j, 1). Valoare
Celule (j, 1) .Value = tempString

6. Și schimbăm numerele.

tempInteger = Celule (i, 2). Valoare
Celule (i, 2). Valoare = Celule (j, 2). Valoare
Celule (j, 2) .Value = tempInteger

7. Nu uitați să închideți declarația If.

Sfârșit Dacă

8. Nu uitați să închideți cele două bucle.

Următorulj
Următoruleu

9. Testați programul.

ce eroare veți primi dacă tastați incorect un nume de funcție?

Rezultat:

Sortarea aleatorie a rezultatului datelor

Notă: puteți adăuga o linie care șterge numerele din coloana B. Este chiar mai plăcut să plasați numerele fiecărui nume într-o matrice, deci nu sunt plasate numere pe foaia de lucru. Cu toate acestea, în scop ilustrativ, am ales să plasăm valorile pe foaie.

8/11 Finalizat! Aflați mai multe despre bucle>
Accesați capitolul următor: Erori macro



^