Zemāk mēs apskatīsim programmu Excel VBA ka nejauši kārto datus (šajā piemērā nejauši sakārto nosaukumus).
Situācija:
1. Pirmkārt, mēs deklarējam četrus mainīgos. Vienu String tipa mainīgo mēs saucam par TempString, vienu Integer tipa mainīgo mēs saucam par TempInteger, vienu Integer tipa mainīgo, ko mēs saucam par i, un vienu Integer tipa mainīgo, ko mēs saucam par j.
NavtempStringKā Stīga, tempIntegerKā Vesels skaitlis, iKā Vesels skaitlis, jKā Vesels skaitlis2. B kolonnā ierakstām 5 izlases skaitļus (viens katram vārdam). Šim nolūkam mēs izmantojam darblapas funkciju RandBetween.
Priekši = 1Uz5
Šūnas (i, 2). Vērtība = WorksheetFunction.RandBetween (0, 1000)
Nākamaisi
Rezultāts līdz šim:
ja funkcija ir lielāka vai vienāda ar
Mēs izmantosim numurus blakus katram nosaukumam, lai kārtotu nosaukumus. Vārds ar mazāko skaitli vispirms, vārds ar otro mazāko skaitli, otrais utt.
3. Mēs sākam a Dubultā cilpa .
kā izmantot binomdist programmā ExcelPriekši = 1Uz5
Priekšj = i + 1Uz5
4. Pievienojiet šādu koda rindiņu:
JaŠūnas (j, 2). VērtībaPiemērs: ja i = 1 un j = 2, Vendiju un Ričardu salīdzina. Tā kā Ričardam ir mazāks skaits, mēs apmainām Vendiju un Ričardu. Ričards šobrīd ir pirmajā pozīcijā. Ja i = 1 un j = 3, Ričardu un Džoostu salīdzina. Joost ir lielāks skaitlis, tāpēc nekas nenotiek. Tādā veidā Excel VBA pirmajā vietā iegūst nosaukumu ar zemāko skaitli. Ja i = 2, Excel VBA iegūst nosaukumu ar otro zemāko skaitli otrajā pozīcijā utt.
5. Ja tā ir taisnība, mēs apmainīt vārdus.
tempString = Šūnas (i, 1). VērtībaŠūnas (i, 1). Vērtība = šūnas (j, 1). Vērtība
Šūnas (j, 1). Vērtība = tempString
6. Un mēs apmainām numurus.
tempInteger = Šūnas (i, 2). VērtībaŠūnas (i, 2). Vērtība = šūnas (j, 2). Vērtība
Šūnas (j, 2). Vērtība = tempInteger
7. Neaizmirstiet aizvērt paziņojumu Ja.
Beigas Ja8. Neaizmirstiet aizvērt divas cilpas.
NākamaisjNākamaisi
9. Pārbaudiet programmu.
kas notiek aptuvenajā spēles vlookup
Rezultāts:
Piezīme. Jūs varat pievienot rindiņu, kas izdzēš B slejas numurus. Vēl jaukāk ir katra vārda numurus ievietot masīvā, tāpēc jūsu darblapā netiek ievietoti skaitļi. Tomēr ilustratīviem nolūkiem mēs esam izvēlējušies izvietot vērtības uz lapas.
Doties uz nākamo nodaļu: Makro kļūdas