Šī 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 |