Elementele de bază ale programării pe VBA

Utilizarea Arrays
Ca argumente de proceduri și funcții

VBA permite utilizarea de matrice ca argumente pentru proceduri și funcții. În acest caz, parametrul matrice este declarat ca fiind o matrice dinamică a instrucțiunii:

[ByVal | ByRef] arrayName () Ca tip, în care

ByVal - VBA transmite un argument matrice semnificativ,

ByRef - VBA trece matrice argument prin referință,

Tip - oricare dintre tipurile permise.

Nu se recomandă matrice de transmisie ca argumente semnificativ proceduri și funcții, cum În acest caz, epuizat rapid PC resurse de memorie.

Am demonstrat utilizarea de matrice ca argument pentru o procedură funcție
privind sortarea exemple de matrice numeric one-dimensional.

Sortarea prin selecție directă

Această metodă este frecvent utilizat pentru matrici care nu conțin elemente repetitive.
Puteți proceda după cum urmează:

- selectați elementul minim de matrice;

- SWAP cu primul element (cel mai mic, atunci va sta în locul său);

- Repetați pasul anterior cu elementele rămase, adică ia în considerare o parte din matrice de la al doilea la ultimul, pentru a găsi elementul minim în ea și să o înlocuiască cu cea de a doua, etc. până când există un singur cel mai mare element a fost deja.

Trebuie doar să m - 1 ori pentru a efectua această secvență de acțiuni. În timpul de sortare va crește porțiunea matrice sortat, nu sortate în consecință, să scadă.

Funcția MetodPryamVybora (ByRef y () Ca Integer, ByVal m Ca Byte)

k Dim Ca Byte, j Ca Byte, L Ca Byte

Dacă y (j)

Dacă verificați condițiile semnului "<” заменить на “>“. matrice vor fi sortate în ordine descrescătoare.

Sortarea prin schimb direct (bubble)

Metoda Funcția schimbului direct (ByRef y () Ca Integer, ByVal m Ca Byte)

d Dim Ca Integer, k Ca Byte, j Ca Byte

Pentru j = m Pentru k Pasul -1

În metodele de selecție directă și elementele inițiale cu bule de matrice trebuie să fie disponibile înainte de începerea sortării.

Noi ilustrează activitatea de matrice numerice două metode de sortare dimensională, folosind ca argument o matrice în funcție de datele inițiale pentru rezolvarea următoarelor sarcini:

Exemplul 7. Setați o matrice numerică unidimensională. Găsiți cea mai mare și cea mai mică dintre elementele sale.

x Dim () Ca Integer, n Ca Byte, i Ca Byte

n = Application.CountA (ActiveSheet.Range ( "A. A"))

MsgBox „Cel mai mare element al matrice =“ Format (x (m), "0.000")

MsgBox „Cel mai mic element al matrice =“ Format (x (1) "0,000")

COUNTA () funcția de bibliotecă MS Excel permite pentru a contoriza numărul de celule non-gol în coloana A din foaia de lucru activă (selectată).

8. ia o secvență ordonată de numere și un număr. Introduceți numărul specificat în secvența originală, fără a încălca ordinea.

x Dim () Ca Integer, numărul de As Integer, i Ca Integer, j Ca Integer

Const n Ca Byte = 10

Foi ( „Fișa 1“); selectați

articole similare