Datu nejauša kārtošana programmā Excel VBA - vienkārši Excel makro

Satura rādītājs

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.

Dim tempString kā virkne, tempInteger kā vesels skaitlis, i kā vesels skaitlis, j kā vesels skaitlis

2. Mēs ierakstām 5 nejaušus skaitļus kolonnā B (viens katram vārdam). Šim nolūkam mēs izmantojam darblapas funkciju RandBetween.

Attiecībā uz i = 1 līdz 5
Šūnas (i, 2). Vērtība = WorksheetFunction.RandBetween (0, 1000)
Tālāk i

Rezultāts līdz šim:

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 Double Loop.

Attiecībā uz i = 1 līdz 5
Ja j = i + 1 līdz 5

4. Pievienojiet šādu koda rindiņu:

Ja šūnas (j, 2). Vērtība <šūnas (i, 2). Vērtība Tad

Piemē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 atrodas 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 iegūst nosaukumu ar zemāko skaitli pirmajā pozīcijā. 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 nomainām 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 samainā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 Ja

8. Neaizmirstiet aizvērt divas cilpas.

 Nākamais j
Tālāk i

9. Pārbaudiet programmu.

Rezultāts:

Piezīme. Jūs varat pievienot rindu, 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.

Jums palīdzēs attīstību vietā, daloties lapu ar draugiem

wave wave wave wave wave