Exemple de utilizare a funcțiilor vba

Eliminarea caracterelor inutile

De multe ori liniile din program includ caractere spațiu inutile la sfârșitul sau la începutul unei linii care urmează să fie eliminată, deoarece spațiile externe de conducere sau de sfârșit în șir pot provoca "probleme" în program.







În VBA, există trei funcții concepute pentru a elimina spațiile de conducere și de sfârșit dintr-un șir: LTrim, RTrim, Trim. Rețineți că aceste funcții nu modifică efectiv șirul original, dar returnează o copie a șirului cu spații suplimentare eliminate.

Exemple de utilizare a funcțiilor vba

Determinarea lungimii unui a

Lungimea liniei, de regulă, trebuie să știți când se formatează mesajele pentru utilizator sau când se formatează datele de șir introduse de procedură într-o foaie de lucru Excel sau într-un document Word. VBA utilizează funcția Len în acest scop. În lista următoare dintre semnele parantezelor și cuvântul există două spații.


Exemple de utilizare a funcțiilor vba

Aveți grijă cu liniile de lungime fixă. Deoarece șir de lungime fixă ​​este întotdeauna aceeași lungime, funcția Len returnează întotdeauna lungimea șir declarat, indiferent de lungimea reală șir. De exemplu, în cazul în șirul StrokeName variabilă de lungime fixă, având o lungime de 15 caractere este de fapt cuvântul „Sun“, LEN (StrokeName) întoarce rezultatul 15. Pentru în acest caz, pentru a cunoaște lungimea efectivă a șirului (în cazul nostru - 6), utilizarea Următoarea combinație de funcții: Len (Trim (StrokeName)).

Comparați și căutați șiruri de caractere

În VBA, există două funcții care vă ajută să comparați șiruri de caractere: StrComp, InStr.

Funcția StrComp

StrComp (String1, String2 [, Comparare])

String1, String2 - orice două expresii de șir care trebuie comparate.

Comparația este un argument opțional, poate fi oricare dintre următoarele constante predefinite (dacă este omisă, se folosește opțiunea Compare Compare):

  • vbBinaryCompare - compararea binară a două linii;
  • vbTextCompare - compararea textului a două linii;
  • vbDatabaseCompare - utilizat numai în Microsoft Access.

Când se execută StrComp, se returnează una dintre următoarele valori:

  • -1 dacă String1 este mai mic decât String2;
  • 0 dacă String1 și String2 sunt egale;
  • 1 dacă String1 este mai mare decât String2.


Exemple de utilizare a funcțiilor vba

În lista de mai sus, în modul text, se compară două linii: "Șir implicit" și "Șir implicit". Rezultatul comparației este 1, adică "Șirul implicit" este mai mare decât "Șirul implicit".

Experimentați cu o varietate de șiruri pentru o mai bună înțelegere a funcționării funcției StrComp.

Funcția InStr

Funcția InStr face posibilă determinarea dacă o linie conține un alt șir.

StrComp ([Start,] String1, String2 [, Comparare])

String1, String2 - orice expresie validă de șir. Funcția verifică dacă String1 este în String2.

Comparația este un argument opțional, poate fi oricare dintre următoarele constante predefinite (dacă este omisă, se folosește opțiunea Compare Compare):







  • vbBinaryCompare - compararea binară a două linii;
  • vbTextCompare - compararea textului a două linii;
  • vbDatabaseCompare - utilizat numai în Microsoft Access.

Start este un argument opțional, este o expresie numerică și indică poziția caracterului din String1, din care trebuie să înceapă verificarea.

InStr returnează un număr care indică poziția caracterului din String1 unde a fost găsit String2. Dacă InStr nu găsește String2 în String1, ea returnează 0. Dacă String1 (sau String2) este Null, funcția returnează și Null.


Exemple de utilizare a funcțiilor vba

Împărțiți o linie

Uneori devine necesară ruperea liniei în părțile componente ale acesteia. În VBA, această sarcină este rezolvată de trei funcții: Stânga, Dreapta, Mid.

Funcția stânga

Stânga (String, Lungime)

String - orice expresie de șir validă.

Lungimea este orice valoare numerică.

Funcția returnează o copie a String-ului, începând cu primul caracter și incluzând numărul de caractere specificat de Lungime. Dacă Lungimea este un număr mai mare decât String lungime reală, returnează toate String expresie șir.

Funcția dreapta

Dreapta (String, Lungime)

String - orice expresie de șir validă.

Lungimea este orice valoare numerică.

Funcția returnează o copie a String, începând cu ultimul caracter, inclusiv dreptul de suma de caractere specificate de o lungime. Dacă Lungimea este un număr mai mare decât String lungime reală, returnează toate String expresie șir. Funcția Drept întotdeauna copiază caracterele de la capătul liniei până la începutul acesteia.

Funcția de mijloc

Mid (String, Start, [, Lungime])

String - orice expresie de șir validă.

Lungime, Start - orice valoare numerică.

Funcția Mid returnează o copie a String, pornind de la poziția în șirul de caractere specificat folosind argumentul Start. Argumentul opțional Lungime specifică numărul de caractere care trebuie copiate în Mid String. Dacă Start conține un număr mai mare decât lungimea reală a String, se returnează un șir gol.


Exemple de utilizare a funcțiilor vba

Simboluri care nu pot fi introduse de la tastatură

Se întâmplă frecvent să introduceți un caracter pentru care nu există nici o tastă pe tastatură (de exemplu, un simbol al drepturilor de autor). O altă situație este când trebuie să includeți simbolul serviciului VBA în linie (cel mai frecvent caz este includerea citatelor duble).

Pentru a include caractere care nu pot fi introduse de la tastatură sau care au o semnificație specială pentru VBA, se folosește funcția Chr.

Caracterele reprezintă orice expresie numerică care este un cod valid pentru setul de caractere utilizat de calculator. Trebuie să fie un număr întreg de la 0 la 255.

Funcția Chr preia codul unui singur caracter ca argument și returnează un șir care conține caracterele corespunzătoare acestui cod. Această funcție a fost utilizată în listele de mai sus pentru a muta o linie atunci când mesajul este afișat pe ecranul Chr (13).

Deoarece caracterele utilizate pentru a începe o nouă linie, sunt foarte importante atunci când formatarea mesajelor și alte date șir care sunt manipulate VBA-procedură, există mai multe constante predefinite pentru aceste caractere, deci nu era nevoie de a utiliza funcția Cro:

  • vbCr este caracterul retur de carriage. Echivalentul lui Chr (13)
  • vbLf este un caracter de offset dintr-o singură linie. Echivalentul lui Chr (10)
  • vbCrLf este un retur de transport + caracterul offset per linie. Echivalentul lui Chr (13) + Chr (10)
  • vbTab este un caracter tab. Echivalentul lui Chr (9)


Exemple de utilizare a funcțiilor vba

Exemple de utilizare a funcțiilor vba

Formatarea valorilor datelor

Foarte adesea, formatul datelor de la ieșirea programului pentru un motiv sau altul nu ne corespunde destul. Această sarcină este rezolvată de funcția Format.

Funcția Format VBA este identică cu funcția Format din Excel și utilizează aceleași substituții pentru umplerea datelor.


Format (expresie [, Format [, Firstdayofweek [, Firstweekofyear]]])

Expresie - orice expresie validă (argument obligatoriu).

Format - o expresie validă a unui format numit sau definit de utilizator.

Prima zi a săptămânii este o constantă care determină prima zi a săptămânii.

Firstweekofyear este o constantă care determină prima săptămână a anului.

Pentru a utiliza funcția Format, trebuie să specificați un format predefinit. sau să creați o imagine cu un anumit format. folosind substituenți.


Exemple de utilizare a funcțiilor vba

Formate denumite pentru utilizare cu funcția Format







Articole similare

Trimiteți-le prietenilor: