Funcția-procedură - un tip special de procedură VBA care returnează un rezultat. Funcțiile definite de utilizator, proceduri, precum și argumente opționale și numite funcțiile încorporate VBA pot fi. A Procedurile de scriere-makrorekorder nu poate fi folosit, chiar dacă recorder macro înregistrat, puteți edita și converti într-o procedură funcție.
Principala diferență între o funcție de procedură și a altor proceduri, în plus față de faptul că funcția returnează o valoare, iar procedurile - există faptul că, în funcție de proces utilizează cuvinte cheie de funcții și End Function.
Funcția Nume ([Arglist]) [Ca Tip]
„Declarațiile VBA
[Name = expresie]
end Function
Funcția - cuvânt cheie, anunțând începutul funcției.
Numele - numele funcției. Numele de funcții urmați aceleași reguli ca și alte nume de identificare VBA.
Arglist - o listă de argumente această funcție, un element opțional.
Tip - orice tip de valoare funcției de întoarcere. În cazul în care tipul nu este specificat, rezultatul este că funcția returnează, procedura este de tip Variant.
Nume = expresie - o funcție de atribuire, ceea ce indică VBA, ce valoare ar trebui să returneze funcția, un element opțional. Cu toate acestea, ar trebui să includă întotdeauna operatorul de atribuire într-o procedură de funcție.
End Function - cuvinte cheie funcția se termină.
Mai jos este o listă de a folosi cea mai simplă funcție, o procedură care îndepărtează de conducere și spațiile rămase în urmă și contorizează numărul de caractere în expresie.
Fără a utiliza lista ar arata astfel:
Din acest exemplu simplu, cred că, înțeleg ideea de bază utilizând funcții, proceduri - cod lizibilitate și abrevierea acestuia (cu alte cuvinte,-procedura funcție este scrisă în codul, atunci când mai mult de 2-3 ori mai întâlnit aceeași „bucată“ de cod). Într-adevăr, în cazul în care funcția-procedura noastră nu a fost o singură linie, și, să zicem, 10 linii; și cod de program pentru a utiliza acest tratament de 5 ori, listarea generală a programului ar fi mai mică de 38 de linii.
După cum sa menționat deja mai devreme, VBA trece toate argumentele pentru o funcție de procedură ca un tip Variant. Puteți declara anumite tipuri de date pentru fiecare argument în lista de argumente.
Argumentele cu anumite tipuri sunt utilizate pentru aceleași motive familiare care utilizează variabile sau rezultate ale funcției tastate. Determinarea tipurilor de argumente pentru o procedură de funcții, de asemenea, ajută utilizatorul într-un apel de funcție pentru a introduce tipul corect de argumente în ordinea corectă.