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:
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 Heltal2. 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
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 ExcelFörjag = 1Till5
Förj = i + 1Till5
4. Lägg till följande kodrad:
OmCeller (j, 2). VärdeExempel: 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ärdeCeller (i, 1) .Värde = Celler (j, 1) .Värde
Celler (j, 1) .Value = tempString
6. Och vi byter siffror.
tempInteger = Celler (i, 2) .VärdeCeller (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 Om8. Glöm inte att stänga de två öglorna.
NästajNästai
9. Testa programmet.
hur man får en räkning i excel
Resultat:
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.
Gå till nästa kapitel: Makrofel