VBA Vairāki (ligzdoti) If paziņojumi

Šī apmācība parādīs, kā lietot ligzdotus If paziņojumus VBA

Ja paziņojumi ļauj pārbaudīt vienu nosacījumu VBA, lai noskaidrotu, vai nosacījums ir patiess vai nepatiess, un atkarībā no atbildes kods pārvietosies patiesā apgalvojuma vai nepatiesā apgalvojuma virzienā.

Viens IF paziņojums

1234567891011 ApakšpārbaudeJaDim x kā vesels skaitlisx = 10Ja x = 10, tad'ja x ir 10, nosacījums ir patiessMsgBox x ir 10 colluCitādi'ja x nav 10, nosacījums ir nepatiessMsgbox "x nav 10"Beigas JaBeigu apakš

Ligzdotie IF ir paskaidroti

Ligzdots If ļauj jums ievietot vairākus nosacījumus katra sākotnējā If patiesā un/vai nepatiesā apgalvojuma iekšpusē.

1234567891011121314151617181920212223242526 ApakštestsNestedIf ()Dim x kā vesels skaitlisDim y kā vesels skaitlisDim z kā vesels skaitlisx = 10y = 9z = 8Ja x = 10, tad"Ja x ir 10, nosacījums ir patiess, tāpēc pārbaudiet yJa y = 8, tadMsgBox "y ir 9"Citādi'ja y nav 10, nosacījums ir nepatiessMsgbox "y nav 9"Beigas JaCitādi'ja x nav 10, tad nosacījums ir nepatiess, tāpēc pārbaudīsim zJa z = 8, tadMsgBox "z ir 8"Citādi'ja z nav 8, nosacījums ir nepatiessMsgbox "z nav 10"Beigas Ja'cits beigas Ja nepieciešams, lai aizvērtu oriģinālu, jaBeigas JaBeigu apakš

Ievadot kodu, to rakstot, vienmēr ir laba prakse, jo tas padara kodu viegli lasāmu un izpildāmu, kad pie tā ir jāatgriežas vai kad citam programmētājam tas ir jālasa.

Mēs varētu arī izveidot lietotāja izstrādātu funkciju (UDF) un izsaukt funkcijā dažu šūnu vērtības no Excel, izmantojot parametrus.

1234567891011121314151617181920 Funkcija GetIf (x kā vesels skaitlis, y kā vesels skaitlis, z kā vesels skaitlis) kā virkneJa x = 10, tad"Ja x ir 10, nosacījums ir patiess, tāpēc pārbaudiet yJa y = 8, tadGetIf = "y ir 9"Citādi'ja y nav 10, nosacījums ir nepatiessGetIf = "y nav 9"Beigas JaCitādi"Ja x nav 10, tad nosacījums ir nepatiess, tāpēc pārbaudīsim zJa z = 8, tadGetIf = "z ir 8"Citādi'ja z nav 8, nosacījums ir nepatiessGetIf = "z nav 10"Beigas Ja'cits beigas Ja nepieciešams, lai aizvērtu oriģinālu, jaBeigas JaBeigu funkcija

Ja ievietots praktisks piemērs

Apsveriet šādu funkciju:

12345678910111213141516171819202122 Funkcija GetDiscount (dblPrice As Double) Kā DoubleJa dblCena> = 1000 Tad'ja cena ir lielāka par 1000, piešķiriet atlaidiJa dblCena> = 2000 Tad"ja tas pārsniedz 2000, dodiet 10% atlaidiAtlaide = dblCena * 0,1Citādi"pretējā gadījumā dodiet 5% atlaidiAtlaide = dblCena * 0,05Beigas Jaja cena nav lielāka par 1000Citādi"ja tas ir lielāks par 500, dodiet 2,5% atlaidiJa dblCena> = 500 TadAtlaide = dblCena * 0,025Citādi'citādi bez atlaidēmAtlaide = 0Beigas Ja'cits beigas Ja nepieciešams, lai aizvērtu oriģinālu, jaBeigas JaBeigu funkcija

Izmantojot šo funkciju Excel lapā, mēs varam pārbaudīt pasūtījuma kopējo cenu un piemērot dažādas atlaides atkarībā no šīs summas.

VBA programmēšana | Kodu ģenerators strādā jūsu labā!

Izmantojot ElseIf

ElseIf ļauj mums vienkāršot jūsu kodu, jo tas pārcēlās uz otro if paziņojumu, ja pirmais atgriež nepatiesu.

12345678910111213141516 Funkcija GetDiscount (dblPrice As Double) Kā DoubleIzmantojiet citu, ja vēlaties samazināt koda rakstīšanuJa dblCena> = 2000 TadAtlaide = dblCena * 0,1Citādi, ja dblPrice> = 1000 TadAtlaide = dblCena * 0,075Citādi, ja dblCena> = 500 TadAtlaide = dblCena * 0,05Citādi, ja dblCena> = 200 TadAtlaide = dblCena * 0,025Citādi, ja dblCena> = 100 TadAtlaide = dblCena * 0,01CitādiAtlaide = 0Beigas JaBeigu funkcija

Lietas paziņojuma izmantošana

Mēs varam izmantot arī gadījuma paziņojumu, lai panāktu tādu pašu efektu.

1234567891011121314151617 Funkcija GetDiscount (dblPrice As Double) Kā DoubleAtlasiet Lieta dblPrice"šim gadījumam ir 6 dažādi atlaižu līmeņiLieta ir> = 2000Atlaide = dblCena * 0,1Lieta ir> = 1000Atlaide = dblCena * 0,075Lieta ir> = 500Atlaide = dblCena * 0,05Lieta ir> = 200Atlaide = dblCena * 0,025Lieta ir> = 100Atlaide = dblCena * 0,01Cita lietaAtlaide = 0Beigas AtlasītBeigu funkcija

Jums palīdzēs attīstību vietā, daloties lapu ar draugiem

wave wave wave wave wave