VBA Operadoreak eta Funtzio Integratuak

Excel VBA adierazpenak

Excel-en VBA kodea idaztean, integratutako operadore multzo bat erabiltzen da urrats bakoitzean. Eragile hauek operadore matematiko, kate, konparazio eta logikoetan banatzen dira. Ondoren, operadore talde bakoitza zehatz-mehatz aztertuko dugu.

Eragile matematikoak

VBA matematikako operadore nagusiak beheko taulan ageri dira.

Taularen eskuineko zutabeak operadore lehenetsiaren lehentasuna erakusten du parentesirik ezean. Adierazpen bati parentesiak gehituz gero, nahi duzun moduan alda dezakezu VBA instrukzioak exekutatzeko ordena.

OperatorEkintzalehentasuna

(1 - altuena; 5 - baxuena)

^esponentziazio operadorea1
*biderketa-eragilea2
/zatiketa operadorea2
Hondarrik gabeko zatiketa: hondarrarik gabeko bi zenbaki zatitzearen emaitza ematen du. Adibidez, 74 emaitza itzuliko du 13
CourageModulo (hondarra) operadorea - hondarra itzultzen du bi zenbaki zatitu ondoren. Adibidez, 8 3 aurka emaitza itzuliko du 2.4
+Gehitzeko operadorea5
-kenketa-eragilea5

Soka Operadoreak

Excel VBA-n oinarrizko kate-eragilea kate-eragilea da & (bateratu):

OperatorEkintza
&kateatze-eragilea. Adibidez, esamoldea «A» eta «B» emaitza itzuliko du AB.

Konparazio operadoreak

Konparazio-operadoreak bi zenbaki edo kate konparatzeko eta motako balio boolearra itzultzeko erabiltzen dira boolean (Egia ala gezurra). Excel VBA konparazio-operadore nagusiak taula honetan zerrendatzen dira:

OperatorEkintza
=Berdin
<>Ez berdinak
<gutxiago
>Больше
<=Gutxiago edo berdin
>=Handiagoa edo berdina

Logikoa operadore

Eragile logikoek, konparazio-operadoreek bezala, motako balio boolearra itzultzen dute boolean (Egia ala gezurra). Excel VBA-ren operadore logiko nagusiak beheko taulan ageri dira:

OperatorEkintza
etakonjuntzio eragiketa, operadore logikoa И. Adibidez, esamoldea A eta B itzuliko da Egia, Bada, A и B biak berdinak dira Egia, bestela itzuli False.
OrDisjuntzio eragiketa, operadore logikoa OR. Adibidez, esamoldea A edo B itzuliko da Egia, Bada, A or B berdinak dira Egia, eta itzuliko da False, Bada, A и B biak berdinak dira False.
EzEzeztapen eragiketa, operadore logikoa EZ. Adibidez, esamoldea Ez A itzuliko da Egia, Bada, A berdin False, edo itzuli False, Bada, A berdin Egia.

Goiko taulak ez ditu VBAn eskuragarri dauden operadore logiko guztiak zerrendatzen. Operadore logikoen zerrenda osoa Visual Basic Developer Center-en aurki daiteke.

Eraikitako Funtzioak

Funtzio integratu ugari daude eskuragarri VBAn, kodea idazterakoan erabil daitezkeenak. Jarraian gehien erabiltzen diren batzuk zerrendatzen dira:

FuntzioEkintza
AbsEmandako zenbakiaren balio absolutua ematen du.

Adibidea:

  • Abs (-20) 20 balioa ematen du;
  • Abs (20) 20 balioa ematen du.
chrParametroaren zenbakizko balioari dagokion ANSI karakterea itzultzen du.

Adibidea:

  • Chr (10) lerro-jauzi bat itzultzen du;
  • Chr (97) karaktere bat itzultzen du a.
dataUneko sistemaren data itzultzen du.
DataGehituEmandako datari zehaztutako denbora-tarte bat gehitzen dio. Funtzio sintaxia:

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

Non dago argumentua tarte emandakoari gehitutako denbora-tarte mota zehazten du data argudioan zehaztutako zenbatekoan zenbakia.

argumentu tarte balio hauetako bat har dezake:

TarteaBalio
yyyyurteko
qhiruhilekoan
mhilabete
yurteko eguna
dEgun
wAsteko eguna
wwaste
hordu
nminutu
sbigarren

Adibidea:

  • Gehitu data(«d», 32, «01/01/2015») 32/01/01ari 2015 egun gehitzen dizkio eta horrela 02/02/2015 data itzultzen du.
  • Gehitu data(«ww», 36, «01/01/2015») 36 aste gehitzen dizkio 01/01/2015ari eta 09/09/2015 itzultzen du.
DataDifEmandako bi dataren artean zehaztutako denbora-tarte kopurua kalkulatzen du.

Adibidea:

  • DateDiff(«d», «01/01/2015», «02/02/2015») 01/01/2015 eta 02/02/2015 arteko egun kopurua kalkulatzen du, 32 ematen du.
  • DateDiff(«ww», «01/01/2015», «03/03/2016») 01/01/2015 eta 03/03/2016 arteko aste kopurua kalkulatzen du, 61 ematen du.
egunaEmandako datan hilabeteko egunari dagokion zenbaki oso bat ematen du.

Adibidea: Eguna ("29/01/2015") 29 zenbakia itzultzen du.

orduEmandako unean ordu kopuruari dagokion zenbaki oso bat ematen du.

Adibidea: Ordua ("22:45:00") 22 zenbakia itzultzen du.

InStrZenbaki oso bat eta bi kate hartzen ditu argumentu gisa. Lehenengoaren barruan bigarren katearen agerraldiaren posizioa ematen du, bilaketa zenbaki oso batek emandako posizioan hasiz.

Adibidea:

  • InStr(1, "Hona hemen bilaketa-hitza", "hitza") 13 zenbakia itzultzen du.
  • InStr(14, "Hona hemen bilaketa-hitza, eta hemen beste bilaketa-hitz bat", "hitza") 38 zenbakia itzultzen du.

Ohar: Baliteke zenbaki-argumentua zehaztu gabe egotea, eta kasu horretan bilaketa funtzioaren bigarren argumentuan zehaztutako katearen lehen karakteretik hasten da.

IntEmandako zenbakiaren osoko zatia ematen du.

Adibidea: Int (5.79) 5 emaitza ematen du.

IsdateItzulketak Egiaemandako balioa data bada, edo False – data ez bada.

Adibidea:

  • IsDate(«01/01/2015») Returns Egia;
  • IsDate(100) Returns False.
IsErrorItzulketak Egiaemandako balioa errorea bada, edo False – akatsa ez bada.
Falta daAukerako prozedura-argumentu baten izena argumentu gisa pasatzen zaio funtzioari. Falta da Returns Egiakasuan kasuko prozedura-argumentuari baliorik pasatu ez bazaio.
IsNumericItzulketak Egiaemandako balioa zenbaki gisa trata badaiteke, bestela itzultzen da False.
EzkerEmandako katearen hasieratik zehaztutako karaktere kopurua itzultzen du. Funtzioaren sintaxia honelakoa da:

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

non lerro jatorrizko katea da, eta luzera itzuli beharreko karaktere kopurua da, katearen hasieratik zenbatuta.

Adibidea:

  • Ezkerrean ("abvgdejziklmn", 4) "abcg" katea itzultzen du;
  • Ezkerrean ("abvgdejziklmn", 1) "a" katea itzultzen du.
LenKate bateko karaktere kopurua ematen du.

Adibidea: Len ("abcdej") 7 zenbakia itzultzen du.

HilabeteaEmandako dataren hilabeteari dagokion zenbaki oso bat ematen du.

Adibidea: Hilabetea(«29/01/2015») 1 balioa ematen du.

MidEmandako katearen erditik zehaztutako karaktere kopurua itzultzen du. Funtzio sintaxia:

Erdikoa(lerro, Hasi, luzera)

non lerro jatorrizko katea da Hasi – atera nahi den katearen hasieraren posizioa, luzera atera beharreko karaktere kopurua da.

Adibidea:

  • Erdikoa(“abvgdejziklmn”, 4, 5) “non” katea itzultzen du;
  • Erdikoa(“abvgdejziklmn”, 10, 2) "cl" katea itzultzen du.
MinuteEmandako denboran minutu kopuruari dagokion zenbaki oso bat ematen du. Adibidea: Minutua(«22:45:15») 45 balioa ematen du.
orainUneko sistemaren data eta ordua ematen du.
EskuinEmandako katearen amaieratik zehaztutako karaktere kopurua ematen du. Funtzio sintaxia:

Eskuin(lerro, luzera)

Non lerro jatorrizko katea da, eta luzera atera beharreko karaktere kopurua da, emandako katearen amaieratik zenbatzen.

Adibidea:

  • Eskuinekoa(«abvgdezhziklmn», 4) “clmn” katea itzultzen du;
  • Eskuinekoa(«abvgdezhziklmn», 1) "n" katea itzultzen du.
BigarrenEmandako denborako segundo kopuruari dagokion zenbaki oso bat ematen du.

Adibidea: Bigarrena ("22:45:15") 15 balioa ematen du.

SqrArgumentuan emandako zenbaki-balioaren erro karratua ematen du.

Adibidea:

  • Karratua (4) 2 balioa ematen du;
  • Karratua (16) 4 balioa ematen du.
OrduaUneko sistemaren ordua itzultzen du.
LoturikZehaztutako array-dimentsioaren gainindizea ematen du.

Ohar: Dimentsio anitzeko matrizeetarako, aukerako argumentu bat itzuli behar den dimentsioaren indizea izan daiteke. Zehazten ez bada, lehenetsia 1 da.

urtekoEmandako dataren urteari dagokion zenbaki oso bat ematen du. Adibidea: Urtea(«29/01/2015») 2015 balioa ematen du.

Zerrenda honek Excel Visual Basic integratutako funtziorik erabilienen aukeraketa bat baino ez du barne hartzen. Excel makroetan erabiltzeko eskuragarri dauden VBA funtzioen zerrenda zehatza Visual Basic Developer Center-en aurki daiteke.

Utzi erantzun bat