Gweithredwyr VBA a Swyddogaethau Adeiledig

Datganiadau VBA Excel

Wrth ysgrifennu cod VBA yn Excel, defnyddir set o weithredwyr adeiledig ym mhob cam. Rhennir y gweithredwyr hyn yn weithredwyr mathemategol, llinynnol, cymhariaeth a rhesymegol. Nesaf, byddwn yn edrych ar bob grŵp o weithredwyr yn fanwl.

Gweithredwyr Mathemategol

Rhestrir y prif weithredwyr mathemateg VBA yn y tabl isod.

Mae colofn dde'r tabl yn dangos blaenoriaeth y gweithredwr rhagosodedig yn absenoldeb cromfachau. Trwy ychwanegu cromfachau at fynegiad, gallwch newid y drefn y mae datganiadau VBA yn cael eu gweithredu fel y dymunwch.

GweithredwrGweithredblaenoriaeth

(1 – uchaf; 5 – isaf)

^gweithredwr esbonyddol1
*gweithredwr lluosi2
/gweithredwr adran2
Rhannu heb weddill - yn dychwelyd canlyniad rhannu dau rif heb weddill. Er enghraifft, 74 bydd yn dychwelyd y canlyniad 13
DewrderGweithredwr Modulo (gweddill) – yn dychwelyd y gweddill ar ôl rhannu dau rif. Er enghraifft, 8 Yn erbyn 3 bydd yn dychwelyd y canlyniad 2.4
+Gweithredwr ychwanegu5
-gweithredwr tynnu5

Gweithredwyr Llinynnol

Y gweithredwr llinynnol sylfaenol yn Excel VBA yw'r gweithredwr concatenation & (uno):

GweithredwrGweithred
&gweithredwr concatenation. Er enghraifft, y mynegiant «A» a «B» bydd yn dychwelyd y canlyniad AB.

Gweithredwyr Cymhariaeth

Defnyddir gweithredwyr cymharu i gymharu dau rif neu linyn a dychwelyd gwerth boolaidd o fath Boole (Cywir neu anghywir). Rhestrir y prif weithredwyr cymhariaeth Excel VBA yn y tabl hwn:

GweithredwrGweithred
=Yn yr un modd
<>Ddim yn gyfartal
<Yn llai
>Больше
<=Llai na neu'n gyfartal
>=Yn fwy na neu'n gyfartal

Gweithredwyr rhesymegol

Mae gweithredwyr rhesymegol, fel gweithredwyr cymhariaeth, yn dychwelyd gwerth boolaidd o fath Boole (Cywir neu anghywir). Rhestrir prif weithredwyr rhesymegol Excel VBA yn y tabl isod:

GweithredwrGweithred
Acgweithrediad ar y cyd, gweithredwr rhesymegol И. Er enghraifft, y mynegiant A A B yn dychwelyd Cywir, Os A и B mae'r ddau yn gyfartal Cywir, fel arall dychwelyd Anghywir.
OrGweithrediad datgysylltiad, gweithredwr rhesymegol OR. Er enghraifft, y mynegiant A Neu B yn dychwelyd Cywir, Os A or B yn gyfartal Cywir, a bydd yn dychwelyd Anghywir, Os A и B mae'r ddau yn gyfartal Anghywir.
Ddim ynNegation gweithrediad, gweithredwr rhesymegol NI. Er enghraifft, y mynegiant Nid A yn dychwelyd Cywir, Os A Yn yr un modd Anghywir, neu ddychwelyd Anghywir, Os A Yn yr un modd Cywir.

Nid yw'r tabl uchod yn rhestru'r holl weithredwyr rhesymegol sydd ar gael yn VBA. Mae rhestr gyflawn o weithredwyr rhesymegol i'w gweld yn y Ganolfan Datblygwyr Visual Basic.

Swyddogaethau Adeiledig

Mae yna lawer o swyddogaethau adeiledig ar gael yn VBA y gellir eu defnyddio wrth ysgrifennu cod. Rhestrir isod rai o'r rhai a ddefnyddir amlaf:

swyddogaethGweithred
AbsYn dychwelyd gwerth absoliwt y rhif penodol.

enghraifft:

  • Abs(-20) yn dychwelyd y gwerth 20;
  • Abs(20) yn dychwelyd y gwerth 20.
BCYn dychwelyd y nod ANSI sy'n cyfateb i werth rhifol y paramedr.

enghraifft:

  • Chr(10) yn dychwelyd toriad llinell;
  • Chr(97) yn dychwelyd cymeriad a.
dyddiadYn dychwelyd dyddiad y system gyfredol.
DyddiadYchwaneguYn ychwanegu cyfwng amser penodedig at y dyddiad a roddwyd. Cystrawen swyddogaeth:

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

Ble mae'r ddadl cyfwng yn pennu'r math o gyfwng amser a ychwanegir at yr un a roddir dyddiad yn y swm a nodir yn y ddadl nifer.

Dadl cyfwng yn gallu cymryd un o'r gwerthoedd canlynol:

EgwylGwerth
yyyyflwyddyn
qchwarter
mmis
ydiwrnod o'r flwyddyn
ddiwrnod
wdiwrnod yr wythnos
wwwythnos
hawr
nmunud
s2

enghraifft:

  • DyddiadYchwanegu(«d», 32, «01/01/2015») yn ychwanegu 32 diwrnod at y dyddiad 01/01/2015 ac felly yn dychwelyd y dyddiad 02/02/2015.
  • DyddiadAdd(«ww», 36, «01/01/2015») yn ychwanegu 36 wythnos at y dyddiad 01/01/2015 ac yn dychwelyd y dyddiad 09/09/2015.
DyddiadDiffYn cyfrifo nifer y cyfnodau amser penodedig rhwng dau ddyddiad penodol.

enghraifft:

  • DateDiff(«d», «01/01/2015», «02/02/2015») yn cyfrifo nifer y dyddiau rhwng 01/01/2015 a 02/02/2015, yn dychwelyd 32.
  • DateDiff(«ww», «01/01/2015», «03/03/2016») yn cyfrifo nifer yr wythnosau rhwng 01/01/2015 a 03/03/2016, yn dychwelyd 61.
diwrnodYn dychwelyd cyfanrif sy'n cyfateb i ddiwrnod y mis yn y dyddiad a roddwyd.

enghraifft: Diwrnod («29/01/2015») yn dychwelyd y rhif 29.

awrYn dychwelyd cyfanrif sy'n cyfateb i nifer yr oriau ar yr amser penodol.

enghraifft: awr(«22:45:00») yn dychwelyd y rhif 22.

InStrMae'n cymryd cyfanrif a dau linyn fel dadleuon. Yn dychwelyd lleoliad digwyddiad yr ail linyn o fewn y llinyn cyntaf, gan ddechrau'r chwiliad yn y safle a roddir gan gyfanrif.

enghraifft:

  • InStr(1, "Dyma'r gair chwilio", "gair") yn dychwelyd y rhif 13.
  • InStr(14, "Dyma'r gair chwilio, a dyma air chwilio arall", "gair") yn dychwelyd y rhif 38.

Nodyn: Efallai na fydd y ddadl rhif yn cael ei nodi, ac os felly mae'r chwiliad yn dechrau o nod cyntaf y llinyn a nodir yn ail arg y ffwythiant.

IntYn dychwelyd rhan gyfanrif y rhif penodol.

enghraifft: Int(5.79) yn dychwelyd canlyniad 5.

IsdateFfurflenni Cywiros yw'r gwerth a roddir yn ddyddiad, neu Anghywir – os nad yw'r dyddiad.

enghraifft:

  • IsDyddiad(«01/01/2015») Ffurflenni Cywir;
  • IsDate(100) Ffurflenni Anghywir.
IsGwallFfurflenni Cywiros yw'r gwerth a roddir yn wall, neu Anghywir - os nad yw'n gamgymeriad.
Ar GollMae enw dadl gweithdrefn ddewisol yn cael ei basio fel dadl i'r swyddogaeth. Ar Goll Ffurflenni Cywiros na phasiwyd gwerth i'r ddadl trefniadaeth dan sylw.
IsNumericFfurflenni Cywiros gellir trin y gwerth a roddwyd fel rhif, fel arall yn dychwelyd Anghywir.
ChwithYn dychwelyd y nifer penodedig o nodau o ddechrau'r llinyn a roddir. Mae cystrawen swyddogaeth fel hyn:

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

lle llinell yw y llinyn gwreiddiol, a hyd yw nifer y nodau i'w dychwelyd, gan gyfrif o ddechrau'r llinyn.

enghraifft:

  • Chwith(“abvgdejziklmn”, 4) yn dychwelyd y llinyn "abcg";
  • Chwith(“abvgdejziklmn”, 1) yn dychwelyd y llinyn "a".
LenYn dychwelyd nifer y nodau mewn llinyn.

enghraifft: Len ("abcdej") yn dychwelyd y rhif 7.

MisYn dychwelyd cyfanrif sy'n cyfateb i fis y dyddiad a roddwyd.

enghraifft: Mis («29/01/2015») yn dychwelyd y gwerth 1.

CanolbarthYn dychwelyd y nifer penodedig o nodau o ganol y llinyn a roddir. Cystrawen swyddogaeth:

Canolbarth (llinell, dechrau, hyd)

lle llinell yw'r llinyn gwreiddiol dechrau - lleoliad dechrau'r llinyn sydd i'w dynnu, hyd yw nifer y nodau i'w tynnu.

enghraifft:

  • Canolbarth(“abvgdejziklmn”, 4, 5) yn dychwelyd y llinyn “ble”;
  • Canolbarth(“abvgdejziklmn”, 10, 2) yn dychwelyd y llinyn “cl”.
CofnodYn dychwelyd cyfanrif sy'n cyfateb i nifer y munudau yn yr amser penodol. Enghraifft: Cofnod(«22:45:15») yn dychwelyd y gwerth 45.
NawrYn dychwelyd dyddiad ac amser y system gyfredol.
HawlYn dychwelyd y nifer penodedig o nodau o ddiwedd y llinyn a roddwyd. Cystrawen swyddogaeth:

I'r dde (llinell, hyd)

Lle llinell yw y llinyn gwreiddiol, a hyd yw nifer y nodau i'w tynnu, gan gyfrif o ddiwedd y llinyn a roddir.

enghraifft:

  • Dde («abvgdezhziklmn», 4) yn dychwelyd y llinyn “clmn”;
  • Dde («abvgdezhziklmn», 1) yn dychwelyd y llinyn “n”.
AilYn dychwelyd cyfanrif sy'n cyfateb i nifer yr eiliadau yn yr amser penodol.

enghraifft: Ail («22:45:15») yn dychwelyd y gwerth 15.

SqrYn dychwelyd ail isradd y gwerth rhifol a basiwyd yn y ddadl.

enghraifft:

  • sgwar(4) yn dychwelyd y gwerth 2;
  • sgwar(16) yn dychwelyd y gwerth 4.
amserYn dychwelyd amser y system gyfredol.
UboundYn dychwelyd uwchysgrif y dimensiwn arae penodedig.

Nodyn: Ar gyfer araeau amlddimensiwn, gall dadl ddewisol fod yn fynegai o ba ddimensiwn i'w ddychwelyd. Os na chaiff ei nodi, y rhagosodiad yw 1.

flwyddynYn dychwelyd cyfanrif sy'n cyfateb i flwyddyn y dyddiad a roddwyd. Enghraifft: Blwyddyn («29/01/2015») yn dychwelyd y gwerth 2015.

Mae'r rhestr hon yn cynnwys detholiad yn unig o'r swyddogaethau adeiledig mewn Excel Visual Basic a ddefnyddir amlaf. Mae rhestr gynhwysfawr o swyddogaethau VBA sydd ar gael i'w defnyddio mewn macros Excel i'w gweld ar y Ganolfan Datblygwr Visual Basic.

Gadael ymateb