Darbs ar masīviem VBA programmēšanai programmā Excel 2016

Lielākā daļa programmēšanas valodu atbalsta masīvus, tostarp VBA. Masīvs ir grupa, mainīgie, kas ir kopīga nosaukumu. Varat atsaukties uz noteiktu mainīgo masīvā, izmantojot masīva nosaukumu un indeksa numuru iekavās. Piemēram, varat definēt 12 virkņu mainīgo masīvu, lai saglabātu gada mēnešu nosaukumus. Ja piešķirat masīvam nosaukumu MonthNames , varat atsaukties uz pirmo masīva elementu kā Mēnešu nosaukumi (1), uz otro elementu kā Mēnešu nosaukumi (2) un tā tālāk.

Masīvu deklarēšana

Lai varētu izmantot masīvu, tas ir jādeklarē. Bez izņēmumiem. Atšķirībā no parastajiem mainīgajiem, VBA ļoti stingri ievēro šo noteikumu. Jūs deklarējat masīvu ar Dim vai Public paziņojumu, tāpat kā jūs deklarējat parasto mainīgo. Tomēr jums ir arī jānorāda masīva elementu skaits. To var izdarīt, norādot pirmo indeksa numuru, atslēgvārdu Kam un pēdējo indeksa numuru — visu iekavās. Šis piemērs parāda, kā deklarēt 100 veselu skaitļu masīvu:

Dim MyArray (1 līdz 100) kā vesels skaitlis

Kad deklarējat masīvu, varat izvēlēties norādīt tikai augšējo indeksu. Ja izlaižat zemāko indeksu, VBA pieņem, ka tas ir 0. Tāpēc abi šie priekšraksti deklarē vienu un to pašu 101 elementa masīvu:

Dim MyArray (0 līdz 100) kā vesels skaitlis
Dim MyArray (100) kā vesels skaitlis

Ja vēlaties, lai VBA pieņemtu, ka 1 (nevis 0) ir zemākais indekss jūsu masīviem, iekļaujiet šādu paziņojumu sadaļā Deklarācijas moduļa augšpusē:

Opciju bāze 1

Šis paziņojums liek VBA izmantot 1 kā pirmo indeksa numuru masīviem, kas deklarē tikai augšējo indeksu. Ja šis paziņojums ir pieejams, šādi priekšraksti ir identiski, un abi deklarē 100 elementu masīvu:

Dim MyArray (no 1 līdz 100) kā vesels skaitlis
Dim MyArray (100) kā vesels skaitlis

Daudzdimensiju masīvi

Visi iepriekšējos piemēros izveidotie masīvi ir viendimensijas masīvi. Uztveriet viendimensijas masīvus kā vienu vērtību rindu. VBA izveidotajiem masīviem var būt pat 60 dimensijas, lai gan masīvā reti ir nepieciešams vairāk par divām vai trim dimensijām. Šis piemērs deklarē 81 vesela skaitļa masīvu ar divām dimensijām:

Dim MyArray (no 1 līdz 9, 1 līdz 9) kā vesels skaitlis

Varat uzskatīt, ka šis masīvs aizņem 9 x 9 matricu — lieliski piemērots visu skaitļu glabāšanai Sudoku mīklā.

Lai atsauktos uz konkrētu elementu šajā masīvā, ir jānorāda divi indeksa skaitļi (līdzīgi kā tā “rinda” un “kolonna” matricā). Šis piemērs parāda, kā varat piešķirt vērtību šī masīva elementam:

MyArray (3, 4) = 125

Šis paziņojums piešķir vērtību vienam masīva elementam. Ja domājat par masīvu kā 9 x 9 matricu, tas piešķir 125 elementam, kas atrodas matricas trešajā rindā un ceturtajā kolonnā.

Lūk, kā deklarēt trīsdimensiju masīvu ar 1000 elementiem:

Dim My3DArray (no 1 līdz 10, 1 līdz 10, 1 līdz 10) kā vesels skaitlis

Trīsdimensiju masīvu var uzskatīt par kubu. Ir grūtāk vizualizēt vairāk nekā trīs dimensiju masīvu.

Dinamiskie masīvi

Varat arī izveidot dinamiskus masīvus. Dinamiskajam masīvam nav iepriekš iestatīta elementu skaita. Deklarējiet dinamisku masīvu ar tukšu iekavu kopu:

Dim MyArray () Kā vesels skaitlis

Lai varētu izmantot šo masīvu, jums ir jāizmanto ReDim priekšraksts, lai norādītu VBA, cik elementu ir masīvā. Parasti elementu skaits masīvā tiek noteikts koda darbības laikā. Varat izmantot ReDim paziņojumu neierobežotu skaitu reižu, mainot masīva izmēru tik bieži, cik nepieciešams. Šis piemērs parāda, kā mainīt elementu skaitu dinamiskā masīvā. Tas pieņem, ka mainīgais NumElements satur vērtību, kuru jūsu kods aprēķināja.

Redim MyArray (no 1 līdz numElements)

Pārveidojot masīvu, izmantojot ReDim, tiek izdzēstas visas pašlaik masīva elementos saglabātās vērtības. Varat izvairīties no veco vērtību iznīcināšanas, izmantojot atslēgvārdu Saglabāt. Šis piemērs parāda, kā varat saglabāt masīva vērtības, mainot masīva izmērus:

ReDim Preserve MyArray (no 1 līdz numElements)

Ja MyArray pašlaik ir desmit elementi un jūs izpildāt iepriekšējo paziņojumu ar NumElements, kas vienāds ar 12, pirmie desmit elementi paliek neskarti un masīvā ir vieta diviem papildu elementiem (līdz skaitlim, kas ietverts mainīgajā NumElements). Ja numElements ir vienāds ar 7, pirmie septiņi elementi tiek saglabāti, bet atlikušie trīs elementi tiek iznīcināti.


Kā neļaut Microsoft Word atvērt failus tikai lasīšanas režīmā operētājsistēmā Windows

Kā neļaut Microsoft Word atvērt failus tikai lasīšanas režīmā operētājsistēmā Windows

Kā neļaut Microsoft Word atvērt failus tikai lasīšanas režīmā operētājsistēmā Windows Microsoft Word atver failus tikai lasīšanas režīmā, padarot tos neiespējamu rediģēt? Neuztraucieties, metodes ir norādītas zemāk

Kā novērst nepareizu Microsoft Word dokumentu drukāšanu

Kā novērst nepareizu Microsoft Word dokumentu drukāšanu

Kā labot kļūdas, drukājot nepareizus Microsoft Word dokumentus.Kļūdas Word dokumentu drukāšanā ar mainītiem fontiem, nekārtīgām rindkopām, trūkstoša teksta vai pazaudētu saturu ir diezgan izplatītas. Tomēr nevajag

Izdzēsiet pildspalvas un marķiera zīmējumus savos PowerPoint slaidos

Izdzēsiet pildspalvas un marķiera zīmējumus savos PowerPoint slaidos

Ja prezentācijas laikā esat izmantojis pildspalvu vai marķieri, lai zīmētu uz PowerPoint slaidiem, varat saglabāt zīmējumus nākamajai prezentācijai vai izdzēst tos, lai nākamajā reizē, kad to parādīsit, jūs sāktu ar tīriem PowerPoint slaidiem. Izpildiet šos norādījumus, lai dzēstu pildspalvas un marķiera zīmējumus: Līniju dzēšana pa vienai […]

Veidojiet bibliotēkas saturu programmā SharePoint 2010

Veidojiet bibliotēkas saturu programmā SharePoint 2010

Stilu bibliotēkā ir CSS faili, paplašināmās stila lapu valodas (XSL) faili un attēli, ko izmanto iepriekš definētas šablona lapas, lapu izkārtojumi un vadīklas programmā SharePoint 2010. Lai atrastu CSS failus publicēšanas vietnes stilu bibliotēkā: izvēlieties Vietnes darbības → Skatīt Viss vietnes saturs. Tiek parādīts vietnes saturs. Stila bibliotēka atrodas […]

Formatējiet skaitļus tūkstošos un miljonos Excel pārskatos

Formatējiet skaitļus tūkstošos un miljonos Excel pārskatos

Nepārsedziet savu auditoriju ar milzīgiem skaitļiem. Programmā Microsoft Excel varat uzlabot informācijas paneļu un pārskatu lasāmību, formatējot skaitļus tā, lai tie tiktu rādīti tūkstošos vai miljonos.

Kā koplietot un sekot līdzi SharePoint vietnēm

Kā koplietot un sekot līdzi SharePoint vietnēm

Uzziniet, kā izmantot SharePoints sociālo tīklu rīkus, kas ļauj indivīdiem un grupām sazināties, sadarboties, koplietot un sazināties.

Kā programmā Excel konvertēt datumus Juliana formātos

Kā programmā Excel konvertēt datumus Juliana formātos

Jūlija datumi ražošanas vidēs bieži tiek izmantoti kā laikspiedols un ātra atsauce partijas numuram. Šāda veida datuma kodēšana ļauj mazumtirgotājiem, patērētājiem un pakalpojumu aģentiem noteikt produkta izgatavošanas laiku un līdz ar to arī produkta vecumu. Jūlija datumi tiek izmantoti arī programmēšanā, militārajā jomā un astronomijā. Savādāk […]

Kā izveidot Access Web App

Kā izveidot Access Web App

Programmā Access 2016 varat izveidot tīmekļa lietotni. Kas tad vispār ir tīmekļa lietotne? Tīmeklis nozīmē, ka tas ir tiešsaistē, un lietotne ir tikai “lietojumprogrammas” saīsinājums. Pielāgota tīmekļa lietotne ir tiešsaistes datu bāzes lietojumprogramma, kurai var piekļūt no mākoņa, izmantojot pārlūkprogrammu. Jūs veidojat un uzturat tīmekļa lietotni darbvirsmas versijā […]

Ātrās palaišanas josla programmā SharePoint 2010

Ātrās palaišanas josla programmā SharePoint 2010

Lielākā daļa SharePoint 2010 lapu ātrās palaišanas joslā lapas kreisajā pusē parāda navigācijas saišu sarakstu. Ātrās palaišanas joslā tiek rādītas saites uz piedāvāto vietņu saturu, piemēram, sarakstiem, bibliotēkām, vietnēm un publicēšanas lapām. Ātrās palaišanas joslā ir divas ļoti svarīgas saites: Visa vietnes satura saite: […]

Ko nozīmē risinātāja kļūdu ziņojumi programmā Excel?

Ko nozīmē risinātāja kļūdu ziņojumi programmā Excel?

Vienkāršām problēmām risinātājs programmā Excel parasti ātri atrod optimālās Risinātāja mainīgā vērtības mērķa funkcijai. Taču dažos gadījumos Solver ir grūti atrast Solver mainīgā vērtības, kas optimizē mērķa funkciju. Šādos gadījumos Solver parasti parāda ziņojumu vai kļūdas ziņojumu, kurā aprakstīta vai apspriesta problēma, ko […]