Mga Opereytor sa VBA ug Mga Gitukod nga Kalihokan

Mga pahayag sa Excel VBA

Sa pagsulat sa VBA code sa Excel, usa ka set sa mga built-in nga operator ang gigamit sa matag lakang. Kini nga mga operator gibahin sa matematika, string, pagtandi ug lohikal nga mga operator. Sunod, atong tan-awon ang matag grupo sa mga operator sa detalye.

Mga Operator sa Matematika

Ang nag-unang VBA math operators gilista sa lamesa sa ubos.

Ang tuo nga kolum sa lamesa nagpakita sa default operator precedence sa walay parentheses. Pinaagi sa pagdugang sa mga parentesis sa usa ka ekspresyon, mahimo nimong usbon ang han-ay kung diin ang mga pahayag sa VBA gipatuman kung gusto nimo.

OperatorActionprayoridad

(1 – kinatas-an; 5 – kinaubsan)

^operator sa exponentiation1
*operator sa pagpadaghan2
/operator sa dibisyon2
Dibisyon nga walay nahibilin - nagbalik sa resulta sa pagbahin sa duha ka numero nga walay nahibilin. Pananglitan, 74 ibalik ang resulta 13
kaisogModulo (nahibilin) ​​operator – ibalik ang nahabilin human mabahin ang duha ka numero. Pananglitan, 8 Batok sa 3 ibalik ang resulta 2.4
+Dugang operator5
-operator sa subtraction5

Mga Operator sa String

Ang batakang string operator sa Excel VBA mao ang concatenation operator & (paghiusa):

OperatorAction
&operator sa concatenation. Pananglitan, ang ekspresyon "A" ug "B" ibalik ang resulta AB.

Mga Operator sa Pagtandi

Ang mga operator sa pagtandi gigamit sa pagtandi sa duha ka numero o mga kuwerdas ug ibalik ang usa ka boolean nga kantidad sa tipo Boolean (Tinuod o Bakak). Ang panguna nga mga operator sa pagtandi sa Excel VBA gilista sa kini nga lamesa:

OperatorAction
=Parehas
<>Dili managsama
<dili kaayo
>Dugang info
<=Mas ubos o parehas
>=Labaw sa o katumbas

Lohikal nga mga operator

Ang mga lohikal nga operator, sama sa mga operator sa pagtandi, nagbalik sa usa ka boolean nga kantidad sa tipo Boolean (Tinuod o Bakak). Ang nag-unang lohikal nga mga operator sa Excel VBA gilista sa lamesa sa ubos:

OperatorAction
ugconjunction nga operasyon, lohikal nga operator И. Pananglitan, ang ekspresyon A ug B mobalik Tinuod nga, kung A и B pareha ra ang duha Tinuod nga, kon dili mobalik bakak nga mga.
OrDisjunction nga operasyon, lohikal nga operator OR. Pananglitan, ang ekspresyon A o B mobalik Tinuod nga, kung A or B managsama Tinuod nga, ug mobalik bakak nga mga, kung A и B pareha ra ang duha bakak nga mga.
diliNegation nga operasyon, lohikal nga operator DILI. Pananglitan, ang ekspresyon Dili A mobalik Tinuod nga, kung A parehas bakak nga mga, o pagbalik bakak nga mga, kung A parehas Tinuod nga.

Ang lamesa sa ibabaw wala maglista sa tanan nga mga lohikal nga operator nga magamit sa VBA. Ang usa ka kompleto nga lista sa mga lohikal nga operator makita sa Visual Basic Developer Center.

Gitukod-sa mga Function

Adunay daghang mga built-in nga function nga magamit sa VBA nga magamit sa pagsulat sa code. Gilista sa ubos ang pipila sa labing kasagarang gigamit:

functionAction
absIbalik ang hingpit nga bili sa gihatag nga numero.

Panig-ingnan:

  • Abs(-20) mibalik sa bili 20;
  • Abs(20) ibalik ang kantidad 20.
BCIbalik ang ANSI nga karakter nga katumbas sa numeric value sa parameter.

Panig-ingnan:

  • Chr(10) mibalik sa usa ka linya break;
  • Chr(97) mibalik ug karakter a.
PetsaIbalik ang karon nga petsa sa sistema.
PetsaIdugangNagdugang usa ka piho nga agwat sa oras sa gihatag nga petsa. Function syntax:

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

Asa ang argumento agianan nagtino sa matang sa agwat sa panahon nga gidugang sa gihatag petsa sa kantidad nga gitakda sa argumento gidaghanon.

Pangatarungan agianan mahimong makuha ang usa sa mosunod nga mga kantidad:

Pagsuludbili
yyyytuig
qquarter
mbulan
yadlaw sa tuig
dadlaw
wadlaw sa semana
wwsemana
horas
nminuto
sikaduha

Panig-ingnan:

  • PetsaAdd(«d», 32, «01/01/2015») nagdugang 32 ka adlaw sa petsa 01/01/2015 ug sa ingon mibalik sa petsa 02/02/2015.
  • PetsaAdd(«ww», 36, «01/01/2015») nagdugang 36 ka semana sa petsa 01/01/2015 ug ibalik ang petsa 09/09/2015.
DateDiffGikalkulo ang gidaghanon sa gipiho nga agwat sa oras tali sa duha ka gihatag nga petsa.

Panig-ingnan:

  • DateDiff(«d», «01/01/2015», «02/02/2015») kalkulado ang gidaghanon sa mga adlaw tali sa 01/01/2015 ug 02/02/2015, mibalik sa 32.
  • DateDiff(«ww», «01/01/2015», «03/03/2016») kalkulado ang gidaghanon sa mga semana tali sa 01/01/2015 ug 03/03/2016, mibalik sa 61.
Adlaw saIbalik ang integer nga katumbas sa adlaw sa bulan sa gihatag nga petsa.

Panig-ingnan: Adlaw(«29/01/2015») ibalik ang numero 29.

orasIbalik ang integer nga katumbas sa gidaghanon sa mga oras sa gihatag nga oras.

Panig-ingnan: Oras(«22:45:00») ibalik ang numero 22.

Ang InStrNagkinahanglan kini og integer ug duha ka kuldas isip argumento. Ibalik ang posisyon sa pagkahitabo sa ikaduhang kuwerdas sulod sa una, pagsugod sa pagpangita sa posisyon nga gihatag sa usa ka integer.

Panig-ingnan:

  • InStr(1, “Ania ang search nga pulong”, “pulong”) ibalik ang numero 13.
  • InStr(14, "Ania ang search word, ug ania ang laing search word", "word") ibalik ang numero 38.

Mubo nga sulat: Ang numero nga argumento mahimong dili espesipiko, diin ang pagpangita magsugod gikan sa unang karakter sa string nga gipiho sa ikaduhang argumento sa function.

IntIbalik ang integer nga bahin sa gihatag nga numero.

Panig-ingnan: Int(5.79) ibalik ang resulta 5.

Isdatemobalik Tinuod ngakung ang gihatag nga kantidad usa ka petsa, o bakak nga mga - kung ang petsa dili.

Panig-ingnan:

  • IsPetsa(«01/01/2015») mobalik Tinuod nga;
  • IsPetsa(100) mobalik bakak nga mga.
IsErrormobalik Tinuod ngakung ang gihatag nga kantidad usa ka sayup, o bakak nga mga - kung kini dili usa ka sayup.
NawalaAng ngalan sa usa ka opsyonal nga argumento sa pamaagi gipasa isip argumento sa function. Nawala mobalik Tinuod ngakung walay bili ang gipasa alang sa argumento sa pamaagi nga gikuwestiyon.
IsNumericmobalik Tinuod ngakung ang gihatag nga kantidad mahimong isipon nga numero, kung dili mobalik bakak nga mga.
Sa walaIbalik ang piho nga gidaghanon sa mga karakter gikan sa sinugdanan sa gihatag nga hilo. Ang function syntax sama niini:

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

diin linya mao ang orihinal nga hilo, ug gitas-on mao ang gidaghanon sa mga karakter nga ibalik, nag-ihap gikan sa sinugdanan sa hilo.

Panig-ingnan:

  • Wala(“abvgdejziklmn”, 4) ibalik ang hilo nga "abcg";
  • Wala(“abvgdejziklmn”, 1) ibalik ang hilo nga “a”.
LenIbalik ang gidaghanon sa mga karakter sa usa ka hilo.

Panig-ingnan: Len("abcdej") ibalik ang numero 7.

MonthIbalik ang integer nga katumbas sa bulan sa gihatag nga petsa.

Panig-ingnan: Buwan(«29/01/2015») ibalik ang kantidad 1.

TungaIbalik ang gipiho nga gidaghanon sa mga karakter gikan sa tunga sa gihatag nga hilo. Function syntax:

tunga-tunga(linya, pagsugod, gitas-on)

diin linya mao ang orihinal nga hilo pagsugod - ang posisyon sa sinugdanan sa pisi nga makuha, gitas-on mao ang gidaghanon sa mga karakter nga makuha.

Panig-ingnan:

  • Tunga-tunga(“abvgdejziklmn”, 4, 5) ibalik ang hilo "diin";
  • Tunga-tunga(“abvgdejziklmn”, 10, 2) mibalik sa string nga "cl".
minutoIbalik ang integer nga katumbas sa gidaghanon sa mga minuto sa gihatag nga oras. Pananglitan: Minuto(«22:45:15») ibalik ang kantidad 45.
karonIbalik ang kasamtangan nga petsa ug oras sa sistema.
HustoIbalik ang gipiho nga gidaghanon sa mga karakter gikan sa katapusan sa gihatag nga hilo. Function syntax:

Sakto(linya, gitas-on)

Diin linya mao ang orihinal nga hilo, ug gitas-on mao ang gidaghanon sa mga karakter nga makuha, nag-ihap gikan sa katapusan sa gihatag nga hilo.

Panig-ingnan:

  • Tuo(«abvgdezhziklmn», 4) ibalik ang hilo nga "clmn";
  • Tuo(«abvgdezhziklmn», 1) mibalik sa string nga "n".
IkaduhangIbalik ang integer nga katumbas sa gidaghanon sa mga segundo sa gihatag nga oras.

Panig-ingnan: Ikaduha(«22:45:15») ibalik ang kantidad 15.

SqrIbalik ang square root sa numeric value nga gipasa sa argumento.

Panig-ingnan:

  • Sqr(4) mibalik sa bili 2;
  • Sqr(16) ibalik ang kantidad 4.
OrasIbalik ang karon nga oras sa sistema.
UboundIbalik ang superscript sa gipiho nga dimensyon sa array.

Mubo nga sulat: Alang sa multidimensional arrays, ang usa ka opsyonal nga argumento mahimong ang indeks kung asa nga dimensyon ang ibalik. Kung wala gitino, ang default mao ang 1.

tuigNagbalik ug integer nga katumbas sa tuig sa gihatag nga petsa. Pananglitan: Tuig(«29/01/2015») ibalik ang kantidad 2015.

Kini nga lista naglakip lamang sa usa ka pagpili sa labing kasagarang gigamit nga built-in nga Excel Visual Basic nga mga gimbuhaton. Ang usa ka kompleto nga lista sa mga function sa VBA nga magamit sa Excel macros makit-an sa Visual Basic Developer Center.

Leave sa usa ka Reply