Matrice VBA în Excel - Cum să lucrați cu funcția Arrays în VBA?

În matricile VBA sunt utilizate pentru a defini grupul de obiecte împreună, există nouă funcții matrice diferite în VBA și acestea sunt ARRAY, ERASE, FILTER, ISARRAY, JOIN, LBOUND, REDIM, SPLIT și UBOUND, toate acestea sunt funcții încorporate pentru matrice în VBA, funcția Array ne oferă valoarea pentru argumentul dat.

Funcția Excel VBA Array

Funcția matrice este o colecție de valori într-o singură variabilă. Putem furniza o matrice unui subrutin în VBA, funcții și proprietăți. Tablourile VBA sunt una dintre tehnicile des utilizate pentru a stoca mai multe valori în variabilă.

Exemple de funcții Excel VBA Array

În loc să declarăm multe variabile și să stocăm valorile, putem folosi matricea Excel VBA pentru a stoca valoarea într-o singură variabilă. De exemplu, uitați-vă la exemplul de mai jos

Cod:

Sub Array_Ex () Dim x Integer Dim y As Integer x = 1 y = 2 Range ("A1"). Value = x Range ("A2"). Value = y End Sub

În exemplul de mai sus, am declarat două variabile numite x & y. X deține 1 ca valoare, iar Y deține 2 ca valoare.

Acum, uitați-vă la exemplul funcției matricei Excel VBA cu o singură variabilă.

Cod:

Sub Array_Ex () Dim x (1 până la 2) Ca interval întreg ("A1"). Valoare = x (1) Interval ("A2"). Valoare = x (2) Sfârșit Sub

Acum, dacă rulați acest cod VBA, am avea valori în celula A1 și A2.

Variabilele matrice au returnat rezultatul ca zero. Acest lucru se datorează faptului că tocmai am declarat variabilele ca două, dar nu am atribuit nicio valoare acelor variabile. Deci, trebuie să atribuim valori acestor variabile.

Cod:

Sub Array_Ex () Dim x (1 To 2) As Integer x (1) = 10 x (2) = 20 Range ("A1"). Value = x (1) Range ("A2"). Value = x (2) ) Sfârșitul Sub

Acum executați codul pentru a obține rezultate.

Înainte de a introduce valorile variabilelor matrice către celule, trebuie să atribuim valoarea acelor variabile matrice declarate, așa cum am atribuit variabilele x (1) = 10 și x (2) = 20.

Exemplul # 1 - Inserați numere de serie folosind Static Array

Să vedem exemplul utilizării unui tablou static pentru a insera numere de serie. Aceasta seamănă cu cea precedentă.

Cod:

Sub StaticArray_Ex () Dim x (1 până la 5) Ca număr întreg x (1) = 10 x (2) = 20 x (3) = 30 x (4) = 40 x (5) = 50 Interval ("A1"). Valoare = x (1) Interval ("A2"). Valoare = x (2) Interval ("A3"). Valoare = x (3) Interval ("A4"). Valoare = x (4) Interval ("A5" ) .Value = x (5) Sfârșit Sub

Acum executați acest cod pentru a insera numerele de serie.

Exemplul # 2 - Inserați numere de serie folosind matrice dinamică

Acum vom vedea al doilea tip de matrice, adică un tablou dinamic

Cod:

Sub DynamicArray_Ex () Dim x () As Integer ReDim x (5) x (1) = 10 x (2) = 20 x (3) = 30 x (4) = 40 x (5) = 50 Range ("A1" ) .Value = x (1) Interval ("A2"). Valoare = x (2) Interval ("A3"). Valoare = x (3) Interval ("A4"). Valoare = x (4) Interval (" A5 "). Valoare = x (5) Finalizare sub

Acum executați acest cod pentru a obține rezultatul numerelor de serie. Obținem același rezultat ca și cel anterior.

Dacă observați că nu am furnizat lungimea matricei în timp ce declarăm variabila, în schimb, am atribuit ultima valoare a matricei VBA utilizând funcția VBA Redim. Redim deține ultima valoare a matricei care trebuie trecută.

Exemplul # 3 - Creați o funcție Inserați nume de lună utilizând matricea

Am văzut cum să lucrăm cu tablouri în VBA. Acum vom vedea cum să lucrăm cu o matrice pentru a crea o funcție VBA în Excel. Funcția nu este altceva decât o funcție definită de utilizator în VBA. În afară de utilizarea funcțiilor încorporate, excel VBA ne permite să ne creăm și propriile funcții.

Cod:

Funcție List_Of_Months () List_Of_Months = Array ("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov "," Dec ") Funcția de încheiere

Codul de mai jos va crea o funcție care poate insera luni în foaia noastră Excel.

Copiați și lipiți codul de mai jos în modulul dvs.

Acum salvați acest cod și închideți editorul VBA. După închiderea editorului VBA, accesați foaia de lucru și tastați formula pe care tocmai am creat-o și ar trebui să vedeți formula numită List_Of_Months în foaia de lucru.

Deschideți formula și apăsați Enter. Vom primi numele din prima lună, adică ian.

Dacă introduceți formula încă o dată, totuși vom primi doar ianuarie, nu luna următoare, februarie. Deci, selectați mai întâi 12 coloane într-un rând.

Acum deschideți formula în celula D1.

Deoarece am creat formula cu matricea, trebuie să închidem formulele doar ca o matrice. Deci, țineți apăsat Ctrl + Shift + Enter. Am avea toate numele de 12 luni.

Lucruri de amintit

  • Există încă două tipuri de matrice disponibile, adică matrice bidimensională și matrice multidimensională.
  • Tablourile încep de la 0, nu de la 1. Zero înseamnă primul rând și prima coloană.
  • Matricea este un subiect important. Trebuie să îl înțelegeți pentru a trece la nivelul următor.
  • Variabila matrice va fi una care conține multe date de fiecare dată când avansează la nivelul următor.
  • Redim este folosit pentru a stoca ultima lungime a matricei într-un tip de matrice dinamică.

Articole interesante...