300 Exempel

Slumpmässigt sortera data

Randomly Sort Data

Nedan kommer vi att titta på ett program i Excel VBA den där slumpmässigt sorterar data (i det här exemplet sorterar slumpmässigt namn).





Situation:

Slumpmässigt sortera data i Excel VBA





1. Först deklarerar vi fyra variabler. En variabel av typen String kallar vi TempString, en variabel av typen Integer kallar vi TempInteger, en variabel av typen Integer som vi kallar i och en variabel av typen Integer som vi kallar j.

IngentempStringSom Sträng, tempIntegerSom Heltal, jagSom Heltal, jSom Heltal

2. Vi skriver 5 slumptal till kolumn B (ett för varje namn). Vi använder kalkylbladsfunktionen RandBetween för detta.



Förjag = 1Till5
Celler (i, 2) .Value = WorksheetFunction.RandBetween (0, 1000)
Nästai

Resultat hittills:

räkna unika värden i en kolumn

Resultat hittills

Vi kommer att använda siffrorna bredvid varje namn för att sortera namnen. Namnet med det lägsta talet först, namnet med det näst lägsta talet, andra, etc.

3. Vi startar a Dubbel slinga .

hur man räknar ord i en cell i Excel
Förjag = 1Till5
Förj = i + 1Till5

4. Lägg till följande kodrad:

OmCeller (j, 2). VärdeSedan

Exempel: för i = 1 och j = 2 jämförs Wendy och Richard. Eftersom Richard har ett lägre antal byter vi Wendy och Richard. Richard är på den första positionen nu. För i = 1 och j = 3 jämförs Richard och Joost. Joost har ett högre tal så ingenting händer. På så sätt får Excel VBA namnet med det lägsta talet vid den första positionen. För i = 2 får Excel VBA namnet med det näst lägsta talet vid den andra positionen, etc.

5. Om det är sant, vi byta namnen.

tempString = Celler (i, 1) .Värde
Celler (i, 1) .Värde = Celler (j, 1) .Värde
Celler (j, 1) .Value = tempString

6. Och vi byter siffror.

tempInteger = Celler (i, 2) .Värde
Celler (i, 2) .Värde = Celler (j, 2) .Värde
Celler (j, 2) .Värde = tempInteger

7. Glöm inte att stänga if -uttalandet.

Slutet Om

8. Glöm inte att stänga de två öglorna.

Nästaj
Nästai

9. Testa programmet.

hur man får en räkning i excel

Resultat:

Slumpmässigt sortera dataresultat

Obs: du kan lägga till en rad som raderar siffrorna i kolumn B. Det är ännu trevligare att placera siffrorna för varje namn i en matris, så inga nummer placeras i ditt kalkylblad. För illustrativa ändamål har vi dock valt att placera värdena på arket.

8/11 klar! Läs mer om loopar>
Gå till nästa kapitel: Makrofel



^