Sorteerige juhuslikult andmeid Excelis VBA - lihtsad Exceli makrod

Lang L: none (table-of-contents)

Allpool vaatame programmi Exceli VBA seda sorteerib andmeid juhuslikult (selles näites sorteerib nimed juhuslikult).

Olukord:

1. Esiteks deklareerime neli muutujat. Ühte muutujatüüpi String nimetame TempStringiks, ühte Integer tüüpi muutujaks nimetame TempIntegeriks, ühte Integer tüüpi muutujaks nimetame i ja ühte Integer tüüpi muutujaks nimetame j.

Dim tempString kui string, tempInteger täisarvuna, i täisarvuna, j täisarvuna

2. Kirjutame veergu B 5 juhuslikku numbrit (üks iga nime kohta). Selleks kasutame töölehe funktsiooni RandBetween.

I = 1 kuni 5
Lahtrid (i, 2) .Väärtus = TöölehtFunktsioon.RandBetween (0, 1000)
Edasi i

Senine tulemus:

Kasutame nimede sortimiseks iga nime kõrval olevaid numbreid. Nimi, millel on kõigepealt kõige väiksem arv, teisel kohal madalam number, teine ​​jne.

3. Alustame Double Loop.

I = 1 kuni 5
Kui j = i + 1 kuni 5

4. Lisage järgmine koodirida:

Kui Lahtrid (j, 2) .Väärtus <Lahtrid (i, 2) .Väärtus Siis

Näide: kui i = 1 ja j = 2, võrreldakse Wendyt ja Richardit. Kuna Richardil on väiksem arv, vahetame Wendy ja Richardi. Richard on praegu esimesel positsioonil. Kui i = 1 ja j = 3, võrreldakse Richardit ja Joosti. Joostil on suurem arv, nii et midagi ei juhtu. Nii saab Excel VBA esimesel kohal madalaima numbriga nime. Kui i = 2, saab Excel VBA teise koha madalaima numbriga nime jne.

5. Kui see on tõsi, vahetame nimed.

tempString = Lahtrid (i, 1). Väärtus
Lahtrid (i, 1). Väärtus = lahtrid (j, 1). Väärtus
Lahtrid (j, 1) .Väärtus = tempString

6. Ja me vahetame numbreid.

tempInteger = Lahtrid (i, 2). Väärtus
Lahtrid (i, 2). Väärtus = lahtrid (j, 2). Väärtus
Lahtrid (j, 2). Väärtus = tempInteger

7. Ärge unustage If -lauset sulgeda.

Lõpp Kui

8. Ärge unustage kahe silmuse sulgemist.

 Järgmine j
Edasi i

9. Testige programmi.

Tulemus:

Märkus: saate lisada rea, mis kustutab veerus B olevad numbrid. Veelgi parem on paigutada iga nime numbrid massiivi, nii et teie töölehele numbreid ei paigutata. Kuid näitlikustamiseks oleme valinud väärtuste paigutamise lehele.

Te aitate arengu ala, jagades leht oma sõpradega

wave wave wave wave wave