Operadors VBA i funcions integrades

Declaracions Excel VBA

Quan s'escriu codi VBA a Excel, s'utilitza un conjunt d'operadors integrats a cada pas. Aquests operadors es divideixen en operadors matemàtics, de cadena, de comparació i lògics. A continuació, veurem cada grup d'operadors en detall.

Operadors matemàtics

Els principals operadors matemàtics de VBA es mostren a la taula següent.

La columna dreta de la taula mostra la precedència de l'operador per defecte en absència de parèntesis. Si afegiu parèntesis a una expressió, podeu canviar l'ordre en què s'executen les instruccions VBA com vulgueu.

Operadoraccióprioritat

(1 - més alt; 5 - més baix)

^operador d'exponenciació1
*operador de multiplicació2
/operador de divisió2
Divisió sense residu: retorna el resultat de dividir dos nombres sense resta. Per exemple, 74 retornarà el resultat 13
ValorOperador mòdul (resta): retorna la resta després de dividir dos nombres. Per exemple, 8 Contra 3 retornarà el resultat 2.4
+Operador addicional5
-operador de resta5

Operadors de cadena

L'operador bàsic de cadena a Excel VBA és l'operador de concatenació & (fusionar):

Operadoracció
&operador de concatenació. Per exemple, l'expressió «A» i «B» retornarà el resultat AB.

Operadors de comparació

Els operadors de comparació s'utilitzen per comparar dos nombres o cadenes i retornar un valor booleà de tipus Booleà (Cert o fals). Els principals operadors de comparació d'Excel VBA es mostren en aquesta taula:

Operadoracció
=Igualment
<>No és igual
<menys
>Больше
<=Menys o igual
>=Major o igual

Operadors lògics

Els operadors lògics, com els operadors de comparació, retornen un valor booleà de tipus Booleà (Cert o fals). Els principals operadors lògics d'Excel VBA es mostren a la taula següent:

Operadoracció
ioperació de conjunció, operador lògic И. Per exemple, l'expressió A i B tornarà Veritable, Si A и B tots dos són iguals Veritable, en cas contrari torna Fals.
OrOperació de disjunció, operador lògic OR. Per exemple, l'expressió A o B tornarà Veritable, Si A or B són iguals Veritable, i tornarà Fals, Si A и B tots dos són iguals Fals.
NoOperació de negació, operador lògic NO. Per exemple, l'expressió No A tornarà Veritable, Si A igualment Fals, o tornar Fals, Si A igualment Veritable.

La taula anterior no enumera tots els operadors lògics disponibles a VBA. Es pot trobar una llista completa d'operadors lògics al Centre de desenvolupadors de Visual Basic.

Funcions integrades

Hi ha moltes funcions integrades disponibles a VBA que es poden utilitzar per escriure codi. A continuació es mostren alguns dels més utilitzats:

functionacció
AbsRetorna el valor absolut del nombre donat.

Exemple:

  • Abs (-20) retorna el valor 20;
  • Abs (20) retorna el valor 20.
BCRetorna el caràcter ANSI corresponent al valor numèric del paràmetre.

Exemple:

  • Chr (10) retorna un salt de línia;
  • Chr (97) retorna un caràcter a.
DataRetorna la data actual del sistema.
DataAfegirAfegeix un interval de temps especificat a la data donada. Sintaxi de la funció:

DateAdd(интервал, число, дата)

On és l'argument interval determina el tipus d'interval de temps afegit al donat data en la quantitat especificada a l'argument nombre.

argument interval pot prendre un dels valors següents:

IntervalValor
aaaaany
qtrimestre
mmes
ydia de l'any
ddia
wdia de la setmana
wwsetmana
hhora
nminut
s2

Exemple:

  • DataAfegiu(«d», 32, «01/01/2015») afegeix 32 dies a la data 01/01/2015 i, per tant, retorna la data 02/02/2015.
  • DataAfegiu(«ww», 36, «01/01/2015») afegeix 36 setmanes a la data 01/01/2015 i retorna la data 09/09/2015.
DataDiffCalcula el nombre d'intervals de temps especificats entre dues dates determinades.

Exemple:

  • DateDiff(«d», «01/01/2015», «02/02/2015») calcula el nombre de dies entre l'01/01/2015 i el 02/02/2015, en retorna 32.
  • DateDiff(«ww», «01/01/2015», «03/03/2016») calcula el nombre de setmanes entre l'01/01/2015 i el 03/03/2016, en retorna 61.
diaRetorna un nombre enter corresponent al dia del mes a la data indicada.

Exemple: Dia(«29/01/2015») retorna el número 29.

horaRetorna un nombre enter corresponent al nombre d'hores a l'hora donada.

Exemple: Hora(«22:45:00») retorna el número 22.

InStrPren un nombre enter i dues cadenes com a arguments. Retorna la posició d'ocurrència de la segona cadena dins de la primera, començant la cerca a la posició donada per un nombre enter.

Exemple:

  • InStr(1, "Aquí hi ha la paraula de cerca", "paraula") retorna el número 13.
  • InStr(14, "Aquí hi ha la paraula de cerca, i aquí hi ha una altra paraula de cerca", "paraula") retorna el número 38.

Nota: És possible que no s'especifiqui l'argument número, en aquest cas la cerca comença des del primer caràcter de la cadena especificada al segon argument de la funció.

IntRetorna la part entera del nombre donat.

Exemple: Int (5.79) retorna el resultat 5.

IsdateDevolucions Veritablesi el valor donat és una data, o bé Fals - si la data no ho és.

Exemple:

  • IsDate(«01/01/2015») rendiments Veritable;
  • IsDate(100) rendiments Fals.
IsErrorDevolucions Veritablesi el valor donat és un error, o bé Fals - si no és un error.
Està perdutEl nom d'un argument de procediment opcional es passa com a argument a la funció. Està perdut rendiments Veritablesi no s'ha passat cap valor per a l'argument del procediment en qüestió.
IsNumericDevolucions Veritablesi el valor donat es pot tractar com un nombre, en cas contrari retorna Fals.
EsquerraRetorna el nombre especificat de caràcters des del començament de la cadena donada. La sintaxi de la funció és així:

Left(строка, длина)

where línia és la cadena original i longitud és el nombre de caràcters a retornar, comptant des del principi de la cadena.

Exemple:

  • Esquerra(“abvgdejziklmn”, 4) retorna la cadena "abcg";
  • Esquerra(“abvgdejziklmn”, 1) retorna la cadena "a".
LenRetorna el nombre de caràcters d'una cadena.

Exemple: Len ("abcdej") retorna el número 7.

mesRetorna un nombre enter corresponent al mes de la data indicada.

Exemple: Mes(«29/01/2015») retorna el valor 1.

MediRetorna el nombre especificat de caràcters des del centre de la cadena donada. Sintaxi de la funció:

Mitjana(línia, Començar, longitud)

where línia és la cadena original Començar – la posició de l'inici de la cadena que s'ha d'extreure, longitud és el nombre de caràcters que cal extreure.

Exemple:

  • Mitjana ("abvgdejziklmn", 4, 5) retorna la cadena "on";
  • Mitjana ("abvgdejziklmn", 10, 2) retorna la cadena "cl".
MinutRetorna un nombre enter corresponent al nombre de minuts en el temps donat. Exemple: Minut(«22:45:15») retorna el valor 45.
AraRetorna la data i l'hora actuals del sistema.
DretRetorna el nombre especificat de caràcters des del final de la cadena donada. Sintaxi de la funció:

Dret(línia, longitud)

On? línia és la cadena original i longitud és el nombre de caràcters que cal extreure, comptant des del final de la cadena donada.

Exemple:

  • Dreta(«abvgdezhziklmn», 4) retorna la cadena “clmn”;
  • Dreta(«abvgdezhziklmn», 1) retorna la cadena “n”.
SegonRetorna un nombre enter corresponent al nombre de segons en el temps donat.

Exemple: Segon(«22:45:15») retorna el valor 15.

SqrRetorna l'arrel quadrada del valor numèric passat a l'argument.

Exemple:

  • Sqr (4) retorna el valor 2;
  • Sqr (16) retorna el valor 4.
TempsRetorna l'hora actual del sistema.
UnlimitatRetorna el superíndex de la dimensió de matriu especificada.

Nota: Per a les matrius multidimensionals, un argument opcional pot ser l'índex de la dimensió a retornar. Si no s'especifica, el valor predeterminat és 1.

anyRetorna un nombre enter corresponent a l'any de la data indicada. Exemple: Any(«29/01/2015») retorna el valor 2015.

Aquesta llista inclou només una selecció de les funcions integrades d'Excel Visual Basic més utilitzades. Es pot trobar una llista exhaustiva de funcions de VBA disponibles per utilitzar-les a les macros d'Excel al Centre de desenvolupadors de Visual Basic.

Deixa un comentari