Operatè VBA ak fonksyon entegre

Deklarasyon Excel VBA

Lè w ap ekri kòd VBA nan Excel, yo itilize yon seri operatè entegre nan chak etap. Operatè sa yo divize an operatè matematik, fisèl, konparezon ak lojik. Apre sa, nou pral gade nan chak gwoup operatè an detay.

Operatè Matematik yo

Operatè matematik prensipal VBA yo ki nan lis nan tablo ki anba a.

Kolòn dwat la nan tablo a montre priyorite operatè default nan absans parantèz. Lè w ajoute parantèz nan yon ekspresyon, ou ka chanje lòd nan ki deklarasyon VBA yo egzekite jan ou vle.

OperatèAksyonpriyorite

(1 - pi wo; 5 - pi ba)

^operatè eksponansyèl1
*operatè miltiplikasyon2
/operatè divizyon2
Divizyon san rès – retounen rezilta divize de nonb san rès. Pa egzanp, 74 pral retounen rezilta a 13
KourajOperatè Modulo (rès) – retounen rès la apre divize de nimewo. Pa egzanp, 8 Kont 3 pral retounen rezilta a 2.4
+Operatè adisyon5
-operatè soustraksyon5

Chèn Operatè

Operatè fisèl debaz la nan Excel VBA se operatè konkatènasyon an & (fusion):

OperatèAksyon
&operatè konkatènasyon. Pou egzanp, ekspresyon an "A" ak "B" pral retounen rezilta a AB.

Konparezon Operatè

Operatè konparezon yo itilize pou konpare de nimewo oswa fisèl epi retounen yon valè booleyen nan kalite Booleyen (Vrè ou fo). Operatè yo konpare prensipal Excel VBA yo ki nan lis nan tablo sa a:

OperatèAksyon
=Egal-ego
<>Pa egal
<mwens
>Plis
<=Mwens pase oswa egal
>=Pi gran pase oswa egal

operatè lojik

Operatè lojik, tankou operatè konparezon, retounen yon valè booleyen nan kalite Booleyen (Vrè ou fo). Operatè prensipal yo lojik nan Excel VBA yo ki nan lis nan tablo ki anba a:

OperatèAksyon
Apre sa,operasyon konjonksyon, operatè lojik И. Pou egzanp, ekspresyon an A ak B ap retounen Vrè, Si A и B tou de yo egal Vrè, sinon retounen Fo.
OrOperasyon disjonksyon, operatè lojik OR. Pou egzanp, ekspresyon an A oswa B ap retounen Vrè, Si A or B yo egal Vrè, epi yo pral retounen Fo, Si A и B tou de yo egal Fo.
PaOperasyon negasyon, operatè lojik PA. Pou egzanp, ekspresyon an Pa A ap retounen Vrè, Si A egalman Fo, oswa retounen Fo, Si A egalman Vrè.

Tablo ki anwo a pa bay lis tout operatè lojik ki disponib nan VBA. Ou ka jwenn yon lis konplè operatè lojik nan Visual Basic Developer Center.

Fonksyon entegre

Gen anpil fonksyon entegre ki disponib nan VBA ki ka itilize lè w ap ekri kòd. Lis anba a se kèk nan pi souvan itilize yo:

fonksyonAksyon
AbRetounen valè absoli nimewo yo bay la.

Egzanp:

  • Abs (-20) retounen valè 20;
  • Abs (20) retounen valè 20.
chrRetounen karaktè ANSI ki koresponn ak valè nimerik paramèt la.

Egzanp:

  • Chr(10) retounen yon liy kraze;
  • Chr(97) retounen yon karaktè a.
DatRetounen dat sistèm aktyèl la.
DatAddAjoute yon entèval tan espesifye nan dat yo bay la. Fonksyon sentaks:

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

Kote agiman an entèval detèmine ki kalite entèval tan ajoute nan bay la dat nan kantite lajan ki espesifye nan agiman an nimewo.

Agiman entèval ka pran youn nan valè sa yo:

EntèvalValè
yyyyane
qtrimès
mmwa
yjou nan ane a
djou
wjou nan semèn nan
wwsemèn
hèdtan
nminit
sdezyèm

Egzanp:

  • Dat Ajoute(«d», 32, «01/01/2015») ajoute 32 jou nan dat 01/01/2015 e konsa retounen dat 02/02/2015.
  • DatAdd(«ww», 36, «01/01/2015») ajoute 36 semèn nan dat 01/01/2015 epi retounen dat 09/09/2015.
DatDifKalkile kantite entèval tan espesifye ant de dat yo bay yo.

Egzanp:

  • DateDiff(«d», «01/01/2015», «02/02/2015») kalkile kantite jou ant 01/01/2015 ak 02/02/2015, li retounen 32.
  • DateDiff(«ww», «01/01/2015», «03/03/2016») kalkile kantite semèn ant 01/01/2015 ak 03/03/2016, li retounen 61.
jouRetounen yon nonb antye ki koresponn ak jou mwa a nan dat yo bay la.

Egzanp: Jou ("29/01/2015") retounen nimewo 29 la.

èdtanRetounen yon nonb antye ki koresponn ak kantite èdtan nan moman yo bay la.

Egzanp: Lè(«22:45:00») retounen nimewo 22 la.

InStrLi pran yon nonb antye relatif ak de fisèl kòm agiman. Retounen pozisyon ensidan dezyèm fisèl la nan premye a, kòmanse rechèch la nan pozisyon yon nonb antye relatif.

Egzanp:

  • InStr(1, "Men mo rechèch la", "mo") retounen nimewo 13 la.
  • InStr(14, "Men mo rechèch la, epi isit la se yon lòt mo rechèch", "mo") retounen nimewo 38 la.

Remak: Agiman nimewo a pa ka espesifye, nan ka sa a rechèch la kòmanse soti nan premye karaktè nan fisèl ki espesifye nan dezyèm agiman an nan fonksyon an.

IntRetounen pati nonb antye relatif nan nimewo yo bay la.

Egzanp: Int (5.79) retounen rezilta 5.

IsdateRetounen Vrèsi valè yo bay la se yon dat, oswa Fo - si dat la pa.

Egzanp:

  • IsDate(«01/01/2015») Returns Vrè;
  • IsDate(100) Returns Fo.
IsErrorRetounen Vrèsi valè yo bay la se yon erè, oswa Fo - si se pa yon erè.
Li mankeNon yon agiman pwosedi opsyonèl pase kòm yon agiman nan fonksyon an. Li manke Returns Vrèsi pa gen okenn valè te pase pou agiman pwosedi a nan kesyon an.
IsNumericRetounen Vrèsi valè yo bay yo ka trete kòm yon nimewo, otreman retounen Fo.
LeftRetounen kantite karaktè ki espesifye depi nan konmansman fisèl yo bay la. Sentaks fonksyon an se tankou sa a:

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

ki kote liy se fisèl orijinal la, ak longè se kantite karaktè pou retounen, konte depi nan kòmansman fisèl la.

Egzanp:

  • Left ("abvgdejziklmn", 4) retounen fisèl "abcg" la;
  • Left ("abvgdejziklmn", 1) retounen fisèl "a".
LenRetounen kantite karaktè nan yon fisèl.

Egzanp: Len ("abcdej") retounen nimewo 7 la.

MwaRetounen yon nonb antye ki koresponn ak mwa dat yo bay la.

Egzanp: Mwa ("29/01/2015") retounen valè 1.

MidRetounen kantite karaktè espesifik ki soti nan mitan fisèl yo bay la. Fonksyon sentaks:

Mitan(liy, Kòmanse, longè)

ki kote liy se fisèl orijinal la Kòmanse - pozisyon nan kòmansman an nan fisèl la yo dwe ekstrè, longè se kantite karaktè yo dwe ekstrè.

Egzanp:

  • Mid ("abvgdejziklmn", 4, 5) retounen fisèl la "kote";
  • Mid ("abvgdejziklmn", 10, 2) retounen fisèl "cl".
MinitRetounen yon nonb antye ki koresponn ak kantite minit nan tan yo bay la. Egzanp: Minit(«22:45:15») retounen valè 45.
Kounye a,Retounen dat ak lè sistèm aktyèl la.
DwaRetounen kantite karaktè espesifik ki soti nan fen fisèl yo bay la. Fonksyon sentaks:

dwa(liy, longè)

Ki kote liy se fisèl orijinal la, ak longè se kantite karaktè pou ekstrè, konte depi nan fen fisèl yo bay la.

Egzanp:

  • Dwa(«abvgdezhziklmn», 4) retounen fisèl la "clmn";
  • Dwa(«abvgdezhziklmn», 1) retounen fisèl "n".
dezyèmRetounen yon nonb antye ki koresponn ak kantite segonn nan tan yo bay la.

Egzanp: Dezyèm («22:45:15») retounen valè 15.

SqrRetounen rasin kare valè nimerik ki pase nan agiman an.

Egzanp:

  • Sqr (4) retounen valè 2;
  • Sqr (16) retounen valè 4.
TanRetounen tan sistèm aktyèl la.
IlimitéRetounen sipèskripsyon dimansyon etalaj espesifye a.

Remak: Pou etalaj miltidimansyonèl, yon agiman si ou vle se endèks ki dimansyon yo retounen. Si yo pa espesifye, default la se 1.

aneRetounen yon nonb antye ki koresponn ak ane dat yo bay la. Egzanp: Ane(«29/01/2015») retounen valè 2015.

Lis sa a gen ladan sèlman yon seleksyon nan fonksyon yo ki pi souvan itilize entegre Excel Visual Basic. Ou ka jwenn yon lis konplè sou fonksyon VBA ki disponib pou itilize nan makro Excel yo sou Visual Basic Developer Center.

Kite yon Reply