Arbejde med arrays til VBA-programmering i Excel 2016

De fleste programmeringssprog understøtter arrays, inklusive VBA. Et array er en gruppe af variable, der deler et navn. Du henviser til en specifik variabel i arrayet ved at bruge arraynavnet og et indeksnummer i parentes. For eksempel kan du definere en matrix af 12 strengvariabler til at indeholde navnene på årets måneder. Hvis du navngiver matrixen MonthNames , kan du henvise til det første element i matrixen som MonthNames (1), det andet element som MonthNames (2) og så videre.

Erklærer arrays

Før du kan bruge et array, skal du deklarere det. Ingen undtagelser. I modsætning til normale variabler er VBA meget streng med hensyn til denne regel. Du erklærer et array med en Dim eller Public statement, ligesom du erklærer en regulær variabel. Du skal dog også angive antallet af elementer i arrayet. Du gør dette ved at angive det første indeksnummer, nøgleordet Til og det sidste indeksnummer - alt sammen inden for parentes. Følgende eksempel viser, hvordan man erklærer en matrix med 100 heltal:

Dim MyArray(1 til 100) Som heltal

Når du erklærer et array, kan du vælge kun at angive det øverste indeks. Hvis du udelader det nederste indeks, antager VBA, at det er 0. Derfor erklærer begge følgende udsagn det samme 101-element array:

Dim MyArray (0 til 100) Som heltal
Dim MyArray (100) Som heltal

Hvis du vil have VBA til at antage, at 1 (i stedet for 0) er det lavere indeks for dine arrays, skal du inkludere følgende erklæring i afsnittet Deklarationer øverst i dit modul:

Mulighedsgrundlag 1

Denne erklæring tvinger VBA til at bruge 1 som det første indeksnummer for arrays, der kun erklærer det øverste indeks. Hvis denne sætning er til stede, er følgende sætninger identiske, og begge erklærer en 100-element matrix:

Dim MyArray (1 til 100) Som heltal
Dim MyArray (100) Som heltal

Multidimensionelle arrays

De arrays, der er oprettet i de foregående eksempler, er alle endimensionelle arrays. Tænk på endimensionelle arrays som en enkelt linje af værdier. Arrays, du opretter i VBA, kan have så mange som 60 dimensioner - selvom du sjældent har brug for mere end to eller tre dimensioner i et array. Følgende eksempel erklærer et 81-heltals-array med to dimensioner:

Dim MyArray (1 til 9, 1 til 9) som heltal

Du kan tænke på denne matrix som en matrix på 9 x 9 - perfekt til at gemme alle tal i et Sudoku-puslespil.

For at henvise til et specifikt element i dette array skal du angive to indeksnumre (svarende til dets "række" og dets "kolonne" i matrixen). Følgende eksempel viser, hvordan du kan tildele en værdi til et element i dette array:

MyArray (3, 4)= 125

Denne sætning tildeler en værdi til et enkelt element i arrayet. Hvis du tænker på matrixen i form af en 9 x 9 matrix, tildeler dette 125 til elementet placeret i den tredje række og fjerde kolonne i matrixen.

Sådan erklærer du et tredimensionelt array med 1.000 elementer:

Dim My3DArray (1 til 10, 1 til 10, 1 til 10) som heltal

Du kan tænke på et tredimensionelt array som en terning. Det er sværere at visualisere en række af mere end tre dimensioner.

Dynamiske arrays

Du kan også oprette dynamiske arrays. Et dynamisk array har ikke et forudindstillet antal elementer. Erklære et dynamisk array med et tomt sæt parenteser:

Dim MyArray () Som heltal

Før du kan bruge dette array, skal du bruge ReDim-sætningen til at fortælle VBA, hvor mange elementer arrayet har. Normalt bestemmes antallet af elementer i arrayet, mens din kode kører. Du kan bruge ReDim-sætningen et vilkårligt antal gange og ændre arrayets størrelse så ofte som nødvendigt. Følgende eksempel viser, hvordan man ændrer antallet af elementer i et dynamisk array. Det antager, at NumElements-variablen indeholder en værdi, som din kode har beregnet.

ReDim MyArray (1 til NumElements)

Når du omdimensionerer et array ved at bruge ReDim, sletter du alle værdier, der i øjeblikket er gemt i array-elementerne. Du kan undgå at ødelægge de gamle værdier ved at bruge nøgleordet Bevar. Følgende eksempel viser, hvordan du kan bevare et arrays værdier, når du redimensionerer arrayet:

ReDim Preserve MyArray (1 til NumElements)

Hvis MyArray i øjeblikket har ti elementer, og du udfører den foregående sætning med NumElements svarende til 12, forbliver de første ti elementer intakte, og arrayet har plads til to yderligere elementer (op til antallet indeholdt i variablen NumElements). Hvis NumElements dog er lig med 7, bibeholdes de første syv elementer, men de resterende tre elementer udgår.


Sådan blokerer du Microsoft Word fra at åbne filer i skrivebeskyttet tilstand på Windows

Sådan blokerer du Microsoft Word fra at åbne filer i skrivebeskyttet tilstand på Windows

Sådan blokerer du Microsoft Word fra at åbne filer i skrivebeskyttet tilstand på Windows Microsoft Word åbner filer i skrivebeskyttet tilstand, hvilket gør det umuligt at redigere det? Bare rolig, metoderne er nedenfor

Sådan rettes forkert udskrivning af Microsoft Word-dokumenter

Sådan rettes forkert udskrivning af Microsoft Word-dokumenter

Sådan rettes fejl ved udskrivning af forkerte Microsoft Word-dokumenter Fejl ved udskrivning af Word-dokumenter med ændrede skrifttyper, rodede afsnit, manglende tekst eller tabt indhold er ret almindelige. Men lad være

Slet pen- og highlighter-tegninger på dine PowerPoint-dias

Slet pen- og highlighter-tegninger på dine PowerPoint-dias

Hvis du har brugt pennen eller highlighteren til at tegne på dine PowerPoint-dias under en præsentation, kan du gemme tegningerne til næste præsentation eller slette dem, så næste gang du viser den, starter du med rene PowerPoint-dias. Følg disse instruktioner for at slette pen- og highlighter-tegninger: Sletning af linjer en ved […]

Indhold af stilbibliotek i SharePoint 2010

Indhold af stilbibliotek i SharePoint 2010

Style-biblioteket indeholder CSS-filer, Extensible Stylesheet Language-filer (XSL) og billeder, der bruges af foruddefinerede mastersider, sidelayouts og kontrolelementer i SharePoint 2010. For at finde CSS-filer i Style-biblioteket på et udgivelsessted: Vælg Site Actions→ View Alt webstedsindhold. Indholdet af webstedet vises. Style-biblioteket ligger i […]

Formater tal i tusinder og millioner i Excel-rapporter

Formater tal i tusinder og millioner i Excel-rapporter

Overvæld ikke dit publikum med gigantiske tal. I Microsoft Excel kan du forbedre læsbarheden af ​​dine dashboards og rapporter ved at formatere dine tal, så de vises i tusinder eller millioner.

Sådan deler og følger du SharePoint-websteder

Sådan deler og følger du SharePoint-websteder

Lær, hvordan du bruger SharePoints sociale netværksværktøjer, der lader enkeltpersoner og grupper kommunikere, samarbejde, dele og forbinde.

Sådan konverteres datoer til julianske formater i Excel

Sådan konverteres datoer til julianske formater i Excel

Julianske datoer bruges ofte i produktionsmiljøer som et tidsstempel og hurtig reference for et batchnummer. Denne type datokodning giver detailhandlere, forbrugere og serviceagenter mulighed for at identificere, hvornår et produkt blev fremstillet, og dermed produktets alder. Julianske datoer bruges også i programmering, militæret og astronomi. Forskellige […]

Sådan opretter du en Access Web App

Sådan opretter du en Access Web App

Du kan oprette en webapp i Access 2016. Så hvad er en webapp overhovedet? Nå, web betyder, at det er online, og app er kun en forkortelse for "applikation". En Custom Web App er en online databaseapplikation, der tilgås fra skyen ved hjælp af en browser. Du bygger og vedligeholder webappen i desktopversionen […]

Hurtig startlinje i SharePoint 2010

Hurtig startlinje i SharePoint 2010

De fleste sider i SharePoint 2010 viser en liste over navigationslinks på linjen Hurtig start langs venstre side af siden. Hurtig startlinjen viser links til fremhævet webstedsindhold såsom lister, biblioteker, websteder og udgivelsessider. Hurtigstartlinjen indeholder to meget vigtige links: Linket Alt webstedsindhold: […]

Hvad betyder Solver-fejlmeddelelserne i Excel?

Hvad betyder Solver-fejlmeddelelserne i Excel?

Ved simple problemer finder Solver i Excel som regel hurtigt de optimale Solver-variableværdier for objektivfunktionen. Men i nogle tilfælde har Solver problemer med at finde de Solver-variableværdier, der optimerer objektivfunktionen. I disse tilfælde viser Solver typisk en meddelelse eller en fejlmeddelelse, der beskriver eller diskuterer det problem, der […]