Plauti є dar labiau kreiva programuojant, skeveldros leidžia laimėti dії, pūdymas pagal nustatytus kriterijus (laimima tuo pačiu principu JEI Excel funkcijos).
Svarbiausia funkcija, kaip jūs klausiate proto JEI Ir iš karto stebimės, kaip tai veikia:
Jei [SMART HERE] Tada "=> YAKSHO umova vіrna, TODI "Instrukcijos, kaip "tiesa" Else "=> PRIEŠ KRITIMO "Instrukcijos, pavyzdžiui, "nesąmonė" Pabaiga, jei
Pereikime prie praktikos ir atsigręžkime į užpakalį, kuris mėgdžiojo mane pokyčių metu. Procedūros metafora buvo ta, kad ji atidarė dialogo langą, tarsi tai būtų viduryje nurodytos eilutės reikšmė F5:
Kaip įvesti raidę kambaryje F5, tse padaryti malonę. Mes norime ką nors išgelbėti.
Antriniai kintamieji () "Pakeitimo deklaravimas Dim pavardė kaip eilutė, vardas_vardas kaip eilutė, amžius kaip sveikas skaičius, eilutės_numeris Kaip sveikasis skaičius "Pakeitimo priskyrimas eilės_numerio pakeitimui = Diapazonas ("F5") + 1 pavardė = langeliai (eilutės_numeris, 1) eglė , 2) amžius = langeliai (eilutės_numeris, 3) "MsgBox dialogo lango pavardė & " " & vardas & "," & amžius & " metai" Pabaiga
Dodamo proto, yaku reverify - chi є įveskite reikšmę viduryje F5 numerį, priešais jį, nes kodas bus vikonano.
Pagreitiname funkciją IsSkaičius reverb mind:
Antriniai kintamieji () "Kokia reikšmė lankuose (komiksas F5) є yra skaitinė (I TAI SKAIČIUS, JEI Є BRIM), tada "tada If IsNumeric (diapazonas ("F5")) Tada "Pakeitimo deklaravimas Dim paskutinis_ , pirmasis_vardas Kaip Eilutė, amžius Kaip sveikasis skaičius, eilutės_numeris Kaip sveikasis skaičius "Priskirta reikšmė keisti eilutės_numeris = diapazonas ("F5") + 1 pavardė = langeliai (eilutės_numeris, 1) first_name = langeliai (eilutės_numeris, 2) amžius = langeliai (eilutė "MsgBox dialogo langas pavardė & " " & first_name & "," & amžius & " amžius" End If End Sub
Taip pat mums būtina užsirašyti nurodymus, tarsi protas nebūtų nusiteikęs:
Antriniai kintamieji () If IsNumeric (diapazonas ("F5")) Tada "Pakeitimo deklaravimas Dim pavardė kaip eilutė, vardas_vardas kaip eilutė, amžius kaip sveikas skaičius, eilutės numeris kaip sveikasis skaičius "Vertės priskyrimas pakeitimui eilutės_numeris = diapazonas + 1 last_name = langeliai (eilutės_numeris, 1) first_name = Cells (row_number, 2) age = Cells (row_number, 3) "MsgBox dialogo langas pavardė & " " & first_name & "," & age & " ro_v" Kita "Taigi nematykite "MsgBox dialogo lango : Prieš MsgBox „Įvesta vertė ir diapazonas („F5“) ir „Negalima patvirtinti!“ „ClearContents End If End Sub Sub
Dabar neskaitinės reikšmės kasdienių problemų nesukelia.
Pratsyyuyuchi su mūsų masyvu, kuris atkeršys 16 duomenų eilučių, mūsų puolimas bus reverbirtsі chi є eilės_numerio pakeitimas: "daugiau mažesnis arba daugiau 2" ir "mažiau mažesnis arba daugiau 17".
Trumpai pažvelkime į „povnyannya“ operatorius:
ir tsі korisnі operatoriai:
Dabar pamėginkime vieną geriausių protų IR tarp operatorių
Antriniai kintamieji () If IsNumeric (diapazonas ("F5")) Tada "Dim pavardė kaip eilutė, vardas_vardas kaip eilutė, amžius kaip sveikas skaičius, eilutės_numeris Kaip sveikasis skaičius eilutės_numeris = Diapazonas("F5") + 1 Jei eilutės_numeris > = 2 Ir eilutės_numeris
Jei norime savo makrokomandą padaryti praktiškesnę, galime ją pakeisti 17 pakeitimui, yak mistila b kіlkіst rowkіv. Tse leistų mums pridėti ir pašalinti eilutes iš masyvo nekeičiant odos ribos.
Norėdami ką nors pakeisti, galime sukurti pokytį nb_rows ir pridėkite šią funkciją.
Turiu pergalingą funkciją WorksheetFunction.CountA, kaip funkcijos analogas COUNTA pačioje „Excel“.
Norime, kad tai būtų funkcija, kuri pirmame stulpelyje paimtų keletą netuščių vidurių, užrašydama pakeitimo reikšmę nb_rows:
Antriniai kintamieji () If IsNumeric (diapazonas("F5")) Tada "YAKI NUMBER Dim pavardė kaip eilutė, vardas_vardas Kaip eilutė, amžius kaip sveikas skaičius, eilutės_numeris Kaip sveikasis skaičius Dim nb_rows As Integer eilutės_numeris = Diapazonas ("F5") = 1 Darbo lapelis. CountA (diapazonas (A:A)) "Funkcija skaičiuoti eilučių skaičių, jei eilutės_numeris > = 2 Ir eilutės_numeris
Kitaip
Kitaip suteikia galimybę pridėti papildomų parinkčių ir tada IF komandas:
Jei [CLEAN 1] Tada "=> YAKSCHO Umova 1 yra teisinga, TODI "Instrukcijos 1 ElseJei [CLEAN 2] Tada "=> YAKSCHO Umova 1 yra neteisinga, Ale Umova 2 yra teisinga, TODI "Instrukcijos 2 Else" => Else " Instrukcijos Jei
Jakšo UMOVI 1 vykonuetsya, 1 instrukcija bude vikonano ta atimti operatorių JEI(nuo kurio prasideda JEI jis baigiasi End If). Jakšo UMOVI 2įgyja prasmę" nesąmonė “, tada būsi vikonana 2 instrukcija ir tarsi ji paverstų savo velnią “ nesąmonė “, tada 3 instrukcija(pіd Kitas) bus vikonano.
Sub scores_comment() "Keisti pritemdytą pastabą kaip sveikąjį skaičių, rezultatas_komentarą kaip eilutę pastaba = diapazonas("A1") ElseIf pastaba = 5 Tada score_comment = "Garniy balas" ElseIf pastaba = 4 Tada score_comment = "Patenkinamas balas" ElseIf pastaba = 3 Tada score_comment = "Nesėkmingas balas" ElseIf pastaba = 2 Tada score_comment = "Blogas balas" = "Blogas rezultatas" Else score_comment = "Nulis balas" Pabaiga, jei "Komentaras vidutiniame B1 diapazone ("B1") = score_comment Pabaiga
Pasirinkite
Іsnuє alternatyvi vikoristany Jeigu s bagatma Kitaip instrukcijos, bet pati komanda Pasirinkite, kaip labiau kreiptis į tokias situacijas.
Pažvelkime į makrokomandos su operatoriumi užpakaliuką Pasirinkite:
Sub scores_comment() "Change Dim note As Integer , score_comment As String note = Range("A1") "Komentarai pagal balą Select Case Note"
Varto nurodo, kad galime laimėti ir su kitais rungtynių operatoriais:
Atvejis yra >= 6
Taikyti su skirtingomis reikšmėmis:
Atvejis yra = 6, 7 "kokia vertė = 6 arba 7 atvejis yra 6, 7" kokia reikšmė yra netinkama 6 arba 7 atvejis 6 iki 10
The IF funkcija VBA yra vienas dažniausiai naudojamų teiginių. IF funkcijos patikrina, ar tenkinama nurodyta sąlyga, ar ne. IF funkcija VBA veikia šiek tiek kitaip nei „Excel“. Programoje „Excel“ IF funkcijos turi dvi reikšmes: atšaukimo reikšmę, o tai reiškia, kad ji gali būti įvertinta kaip TRUE arba FALSE ir bus atnaujinta, kad būtų pagrįsta, ty IF( sąlyga, grąžinimo_vertė_jei_sąlygos_tiesa, grąžinimo_vertė_jei_sąlygos_klaidinga). Tačiau funkcija IF VBA yra tik pirmoji dalis, t.y. patikrinkite, ar sąlyga yra TRUE arba FALSE. Paspauskite bet kurį scenarijų, kaip paskirtas kitam TAD teiginiui.
Naudojant paprastą IF funkciją VBA
Štai pavyzdys IF funkcija. Šis VBA kodo taškas yra tiesiog patikrinimas, ar nurodyta sąlyga (ty 1 > 4) įvertinama kaip TRUE ar FALSE. Bet kokiu atveju, jei yra tik keletas instaliacijų, nėrimas bus suskirstytas į TRUE, kai pagalvysite apie tai. Bet kokiu atveju rezultatas bus rodomas ekrane. Kadangi funkcija buvo nustatyta į FALSE, VBA kodas nieko nedarys.
1 | Papildoma IF_FUNCTION() |
The TADA Teiginys iš esmės yra direktyva, nurodanti, kad veiksmai iš karto po jo turi būti vykdomi, jei sąlyga prieš pat if įvertinama kaip TRUE.
Funkcijos IF numatytoji END IF deklaracija, leidžianti programai žinoti, kad tai paskutinė funkcijos IF eilutė. Žemiau pateikta šiek tiek trumpesnė IF funkcijos forma. Atkreipkite dėmesį, kad sakinys END IF buvo pašalintas, todėl trys kodo eilutės buvo sujungtos į vieną.
Sub IF_FUNCTION_SHORT() |
Tačiau ši forma turėtų būti naudojama tik tada, kai jos nėra KITAS arba KITAIP JEI reikia pareiškimų. Pažiūrėkime, kas jie yra ir kaip jie padeda pagerinti IF funkciją.
Vicorist IF funkcija su ELSE VBA
Tuo atveju, kai tai įmanoma, mes žinome, kad funkcija IF yra kalta, kad buvo sukurta iki nerimo pabaigos tik tuo atveju, jei protas yra įvertintas kaip TRUE. Bet vis tiek galvoji apie tuos, kad mažieji bus sukurti iš to, kad, kaip bus, tave pasitiks. Vienas iš būdų pasiekti, kad funkcija IF laimėtų ELSE teiginį. Paprasčiau tariant, ELSE teiginys priverčia programą atlikti ELSE bloke nurodytus veiksmus, kai sąlyga, nurodyta IF sąlygoje, įvertinama kaip FALSE.
Žemiau esančiame VBA kode, IF funkcijose įvertinama kaip false, ELSE bloke minimi stiliai vykdomi, todėl ekrane pasirodo pranešimas „1 yra mažesnis nei 4“. Prie bloko galima pridėti kelis veiksmus, kad visi būtų vykdomi vienas po kito.
1 | Papildoma IF_ELSEIF_FUNCTION() |
Papildomoms IF funkcijoms su ELSEIF ir ELSE: VBA
ELSE teiginys gali būti patvirtintas ELSEIF teiginiams. Smarvė būdinga pakartotinai tikrinant konkrečius protus, o kadangi visi jie vertinami PILNAI, įrodymai pažymėti KITA protu, bus likutinių pritarimų. IF teiginys patikrins tam tikrą sąlygą. Pasirodo, kad tai FALSE, bus patikrinta pirmame ELSEIF teiginyje nurodyta sąlyga. Kaip smarvė prisiimant likimą to, su kuo, tavo manymu, paskirtas kitoje ELSEIF dalyje, bus susidorota, ir tada ne tik. IF ir ELSEIF sąlygose viskas nustatyta į FALSE, tik šiek tiek paminėta paskutiniame ELSE: blokas bus įvykdytas. Pakartotinai, kadangi dvokia keli teiginiai ELSEIF, tada pirmieji, kurių įvertinimas yra TRUE, bus atmesti, o praleidus vykdymo kodas bus sutrauktas į END IF sakinį. Nesvarbu, ar tai būtų didžiausi ELSEIF protai, kurie įvertinti TRUE, bus įvykdyti tik pirmieji, kurie įvertinti TRUE.
1 |
|
Tekstas rodomas žemiau, IF pažymimas pirmiausia. Kadangi įvertinimas yra FALSE, įvertinama pirmoji ELSEIF sąlyga, po kurios – antroji. Be vieno iš jų jie buvo įvertinti TRUE, Žingsniai paminėti ELSE: umova є įvykdyta.
1 | Sub IF_ELSEIF_ELSE_FUNCTION() |
Greitas patarimas – kaip padidinti, IF teiginiai veikia greičiau
Šoninio kodo sumažinimas atrodo panašus. Du ELSEIF protai, atliekantys kitą funkciją, gali būti nuversti. Kuris iš VBA kodo, jūsų manymu, veikia greičiau?:
Pabaiga, jei
Toliau i
„MsgBox“ laikmatis – t
pabaigos sub
atsakymas yra tas, kad antrasis vykdomas daug greičiau nei pirmasis. Kodėl? Tas, kuriam reikia dviejų sekundžių sustoti judant per nelygias kodo eilutes prieš jį, toks, koks yra, įvertinamas kaip TRUE. Atsižvelkite į tai, kad ELSEIF yra pirmasis, kad TRUE bus įvykdytas ir nė viena iš kitų sąlygų neįvertinama, net jei jos taip pat turėtų būti įvertintos kaip TRUE. Pirmoje VBA kodo pozicijoje ELSEIF funkcija on-line 6 įvertinama kaip TRUE, o antroje eilutėje 5 atitinka kriterijus. Tas, kurio intelektas yra didesnis, mažesnis, yra įvertintas kaip TRUE, anksčiau jis turėtų būti įtrauktas į VBA kodą, o visa kita yra ta pati.
Vienos eilės ta kelių eilučių konstrukcija If...Then...Else operatoriaus ir funkcijos IIf, kurie yra įprasti Excel VBA kode – sintaksė, komponentai, programos.
Jei...Tada...Kitas pareiškimas
operatorius Jei...Tada...Kitaip valdymo perdavimo priskyrimas vienam iš operatorių blokų priklauso nuo minčių pasukimo rezultatų.
Vienos eilės konstrukcija
operatorius Jei...Tada...Kitaip gali laimėti vienos eilutės dizaine be raktinių žodžių Kitas, Pabaiga, jei.
Vienos eilutės konstrukcijos sintaksė Jei...Tada...
Jeigu[umova] Tada[operatorius]Vienos eilės konstrukciniai komponentai Jei tada...
- umova Tiesa arba Netiesa;
- operatoriai umova pasukti vertę Tiesa;
Kaip komponentas umova pasukti vertę Netiesa, teiginių blokas konstrukcijoje Jei tada...
užpakalis 1
Sub pradmuo1() Dim d Kaip sveikasis skaičius, a As String d = InputBox ("Įveskite skaičių nuo 1 iki 20", "1 pavyzdys", 1) Jei d > 10 Tada a = "Skaičius " & d & " yra didesnis nei 10 " MsgBox a End SubBagatoryadna statyba
Sekos konstrukcijos If...Then...Else sintaksė
Jeigu[umova] Tada[operatorius] Kitaip[umova] Tada[operatorius] ---------------- Kitas[operatorius] Pabaiga, jeiBagatoriumo konstrukcijos komponentai Jei...Tada...Kitaip:
- umova- skaitinė arba eilutės išraiška po raktinio žodžio Jeigu arba Kitaip kad virsta loginė prasmė Tiesa arba Netiesa;
- operatoriai- teiginių blokas VBA Excel kode, kuris naudojamas kaip komponentas umova pasukti vertę Tiesa.
- punktyras paskirti papildomus konstrukcinius eilės blokus ElseIf [umova] Tada kad eilės [operatorius];
- teiginių blokas po raktinio žodžio Kitas vykonuetsya bet kokia vipadka, bet struktūrinis blokas prie įkrovimo kodo Kitas kad eilės [operatorius] ne obov'azkovim ir gali būti praleidimai.
Kaip komponentas umova pasukti vertę Netiesa, po kurio eina operatorių blokas statyboje Jei...Tada...Kitaip kad programos valdymas praleidžiamas ir perkeliamas į kitą kodo eilutę.
Paprasčiausias bagažo eilės dizaino variantas Jei...Tada...Kitaip:
Jeigu[umova] Tada[operatorius] Kitas[operatorius] Pabaiga, jeiužpakalis 2
Sub pradmuo2() Dim d Kaip sveikasis skaičius, a As String d = InputBox("Įveskite skaičių nuo 1 iki 40", "2 atvejis", 1) Jei d< 11 Then a = "Число " & d & " входит в первую десятку" ElseIf d >10 Ir d< 21 Then a = "Число " & d & " входит во вторую десятку" ElseIf d >20 Ir d< 31 Then a = "Число " & d & " входит в третью десятку" Else a = "Число " & d & " входит в четвертую десятку" End If MsgBox a End Sub
Funkcija IIf
Funkcija Jeigu pakartotinai tikrinti pateiktą protą ir vėl ir vėl vartyti vertę pagal pakartotinio patikrinimo rezultatą.
Funkcijos sintaksė
Jeigu([umova], [kas yra tiesa], [kas yra klaidinga])Funkcijos IIf komponentai
- umova- skaitinė arba eilinė išraiška, kuri paverčia logines reikšmes Tiesa arba Netiesa;
- Tiksliai Tiesa Jeigu, Kaip umova pasuko vertę Tiesa;
- Netiesa- reikšmė, kaip pasukti funkciją Jeigu, Kaip umova pasuko vertę Netiesa.
užpakalis 3
Sub pradmuo3() Dim d Kaip sveikasis skaičius, a As String d = InputBox("Įveskite skaičių nuo 1 iki 20", "3 atvejis", 1) a = IIf(d< 10, d & " - число однозначное", _ d & " - число двузначное") MsgBox a End SubPaspaudus mygtuką „Atšaukti“ arba uždarius įvesties langelio dialogo langą su kryželiu, sugeneruojamas atleidimas, todėl atliekant šiuos veiksmus pasukama tuščia eilutė. Tuščios pakeitimų eilutės priskyrimas D tipui sveikasis skaičius reikalauja atleidimo. Paspaudus dialogo lango mygtuką „Gerai“, į įvesties lauką įvestą skaičių tekstiniu formatu, VBA Excel automatiškai konvertuoja į skaitinį pakeitimo formatą d.
Pagrindiniai judėjimo VBA operatoriai
Komentarai (0)
3.1. Įrašų operatorių taisyklės
Įrašydami operatorius laikykitės šių taisyklių:
Naujo operatoriaus oda įrašoma iš naujos eilutės.
Norėdami vienoje eilutėje parašyti daugybę operatorių, jie suskirstomi tarpusavyje dvigubu (:).
Jei operatorius nejuda vienoje eilutėje, tada eilutės pabaigoje reikia įdėti tarpo ženklą (_), o tada tęsti dalį, kuri netilpo kitoje eilutėje.
3.2. Kvietimų operatorius
Operatorius traukia pergalingas, tarsi keičiasi, reikia suteikti naują vertę. Win gali įžeidžianti sintaksė:
IM'YA_ZMINNOY= VIRAZ
Tuo pačiu metu balai skaičiuojami dešinėje dalyje, o tada tikimasi, kad rezultatas pasikeis, kuris stovės kairėje.
Pavyzdžiui. Užrašykite operatoriaus pagalbą, kad pritrauktumėte matematinio virazo pradžią:
Naudojant VBA, visą virusą galima įrašyti dalyvaujant įžeidžiančiam operatoriui:
Y = a^(1/3)+(a^2+Exp(-b))/(Sin(a)^2-Log(b))
3 .3. Operatorių įvedimas
3 .3.1. Operatorius ir funkcija MsgBox
operatorius MsgBox Nustatykite informacijos rodymą dialogo lange ir nustatykite mygtuko paspaudimo trumpuoju mygtuku režimą.
Win gali įžeidžianti sintaksė:
MsgBox Pranešimai [,mygtukai][, pavadinimas]
Argumentai:
Patarimas - obov'yazykovyy argumentas, mokyklų mainai klausia vіknі іinformatsiyne voіdomlennya. Gali būti sudarytas iš kelių teksto eilučių, sujungtų ženklu & . Citata iš kieno argumento Chr (13) prieš pereinant prie naujos eilės pіd informacijos rodymo valandą.
Mygtukai - šio argumento reikšmė nustato lange rodomų mygtukų kategoriją. Indėlio mygtuko argumento reikšmė yra tokia pati kaip ir piktogramos. Jei nenurodyta, jei mygtukai turi būti rodomi pažadinimo lange, parenkama akcijos reikšmė, jei rodomas mygtukas Gerai. Prie stalo 3.1 galimi mygtukų ir piktogramų deriniai pranešimų lange.
antraštę - Nustatykite lango pavadinimą.
Funkcija MsgBox Pasukite reikšmę, kad įvestumėte sveikąjį skaičių, kad parodytumėte, kaip mygtukas buvo paspaustas dialogo lange.
3.1 lentelė. Galiojančios keitimo mygtuko reikšmės
Fermentacija |
Argumentas |
Gerai mygtukas |
|
Mygtukai OK ir Skasuvannya |
|
Mygtukai Taip ir Ne |
|
Mygtukai Taigi, Nі ta Skasuvannya |
|
Mygtukai Prisegti, Kartoti ir Ignoruoti |
VbAbortRetryIgnore |
Mygtukai Repeat ir Skasuwati. |
|
Informacinis ženklas |
|
maisto ženklas |
|
krušos ženklas |
Pavyzdžiui. Pateikite informaciją apie dabartinę datą.
MsgBox "Šiandien kalendoriuje" ir data , "Uvaga"
Dėl to bus parodytas kitas žingsnis (3.1 pav.).
Paspaudus mygtuką OK, raginimas bus uždarytas, o programa atsibus iš operatoriaus, kuris turėtų būti iškart už MsgBox skambučio.
3.3.2. Funkcija Įvesties laukelis
Funkcija Įvesties laukelis zdіysnyuє vіdnjuє vіnnja zmіnnyh vіnіh vіkna vіkna vіkna ta maє tobulinama sintaksė:
Im'ya_Zminniy = InputBox(Pastaba[, Pavadinimas] )
Argumentai:
Patarimas - Obov'yazykovy argumentas. Informacinės pastabos pabaigoje paklauskite, ką pasakyti, kad paaiškintumėte įvedamą jutiklio reikšmę
antraštę - Nustatykite lango pavadinimą.
Pavyzdžiui, Įveskite pakeitimo reikšmę N iš klaviatūros, pervesdami reikšmę į raginimą 10.
Dėl kurio galite pasukti įžeidžiantį operatorių:
N = InputBox ("Įveskite N", "Įvesties duomenys", 10)
Dėl to bus rodomas kitas N pokyčio reikšmės įvedimo langas (3.2 pav.).
Jei užrakto reikšmė yra teisinga, tada paspaudus mygtuką OK, įvesties langas uždaromas, keičiant N priskiriama reikšmė 10 ir prisijungus prie programos iš operatoriaus, kuris turėtų būti iškart už skambučio Įvesties laukelis.
Jei užrakinimo reikšmė koristuvachev netinka, tada prieš spustelėdami mygtuką Gerai, turite įvesti reikiamą pakeitimo N reikšmę.
3 .4. Smart IF pareiškimas
Dekompozicijos surašymo procesui įgyvendinti VBA naudoja operatorių Jei… Tada… kitaip, kuri yra paprasčiausia perevіrki protų forma. Win gali įžeidžianti sintaksė:
JeiguUMOVITadaOPERATOR_1ElseOPERATOR_2
OPERATOR_1 vykonuetsya, like UMOVI tiesa, kitaip pergalinga OPERATOR_2. Šiuo atveju teiginys If…Then…Else rašomas vienoje eilutėje.
UMOVI- Tse viraz loginis tipas. Virazu rezultatas gali būti Būlio tipas. Viraz gali atleisti ir nusimesti. Įrašant paprastus protus, visos galimos operacijos mėlynai, nurodytos lentelėje. 3.2.
stalo3 .2. logiška mėlyna
Operacija |
vardas |
Viraz |
Rezultatas |
Tiesa, o tai reiškia, kad A yra arčiau B |
|||
Tiesa, o tai reiškia, kad A nėra tas pats, kas B |
|||
Tiesa, tas pats kaip A, daugiau |
|||
Tiesa, kas mažiau |
|||
Daugiau chi lygus |
Tiesa, kuri yra daugiau ar mažiau viena |
||
Mažiau arba brangiau |
Tiesa, kaip A mažiau ar geriau |
Sulankstomi protai susideda iš paprastų takų zastosuvannya loginių operacijų ir apvalių lankų. Loginių operacijų sąrašas pateiktas lentelėje. 3.3.
stalo3 .3. Loginės operacijos
vardas |
Viraz |
Rezultatas |
|||
logiškiau |
|||||
Logika I |
|||||
Logika ABO |
Išmaniajame operatoriuje priimtinas operatoriaus bloko pakaitalas yra odos operatorius. Šiuo metu protingas operatorius gali atrodyti:
JeiguUMOVITada
BLOCK_OPERATOR_1
BLOCK_OPERATOR_2
Pabaiga If
Psichikos operatoriuje galima susukti dekilą minčių. Šiuo metu protingas operatorius gali atrodyti:
JeiguUMOVI_1Tada
BLOCK_OPERATOR_1
KitaipUMOVI_2Tada
BLOCK_OPERATOR_2
Kitas
PabaigaJeigu
užpakalis 1. Parašykite programos dalį algoritmui pav. 3.3.
užpakalis 2. Parašykite programos dalį algoritmui pav. 3.4.
3.5. Pasirinkite Case Operator
Operatorius Select Case pasirenka rankiniu būdu, jei klaidingoje vietoje yra tos pačios reikšmės reikšmė, jei yra maksimalus leistinų reikšmių skaičius, reikia pasirinkti kitą reikšmę. Vіn taip pat vadinamas išmaniaisiais operatoriais, bet gali atrodyti kitaip:
Pasirinkite CaseREVIRATED_VIRAZ
atvejisVALUE_1
OPERATORS_1
atvejisVERTĖ_ 2
OPERATORIAI_ 2
. . .
atvejisVALUE_N
OPERATORIAI_N
[ atvejisKitas
Priešingu atveju_ OPERATORIAI]
Pabaigos pasirinkimas
REVIRATED_VIRAZ gal mama, būk skaliarinio tipo, krim kalba. VERTĖ pridėti iki tam tikros vertės arba diapazonų, vandens armatūros vieną ir vieną gumulėlį.
Tipas VERTĖ kaltas zbіgatisya z tipas REVIRAZI_VIRAZI.
Nugara suskaičiuota REVIRATED_VIRAZ. Kiek reikšmių eina su viena iš reikšmių VALUE_I, tada laimėk OPERATORIAI_I Pabaigos pasirinkimas. Ši vertė nesikeičia esant toms pačioms reikšmėms VALUE_I, tada laimėk Kiti_operatoriai kad valdymas perduodamas operatoriui, kokios toliau kainuoja Pabaigos pasirinkimas
Pavyzdžiui. Parašykite programos dalį algoritmui pav. 3.5, kuris nustato pokyčio reikšmę S pūdymas kaip pokyčio n reikšmę.
3.6. kilpos operatorius
Įgyvendinant ciklinį surašymo procesą, ty vienkartinį vieno ar kelių operatorių įvedimą, tarnauja kaip ciklo operatorius Už… Kitas, kuri gali būti kita sintaksė:
DėlCHILD=START_VALUEToEND_VALUEžingsnisCROC
BLOCK_OPERATOR
BLOCK_OPERATOR
KitasLICHILNYK
Ciklas For…Next kartojasi per pakeitimo vertę LICHILNYK, kaip ciklo parametras, nuo burbuolės iki paskutinės vertės iš nurodyto pasėlio keitimo. Tai saugu sekti operatorių bloką ciklo korpuse su oda nauja lichnik verte. Jakšo žingsnisCROC ties projektavimu vіdsutnya, tada reikia pasirūpinti spyna, kad darbas brangus 1. Už operatorius Išeiti už galite išeiti iš ciklo teiginio anksčiau LICHILNYK pasiekti likusią vertę.
Norėdami išvardyti objektus iš panašių objektų grupės, pavyzdžiui, viduryje iš diapazono arba masyvo, rankiniu būdu pasirinkite ciklo operatorių Dėl…Kiekvienas… Kitas.
KiekvienamelementasĮGrupė
BLOKAS_ OPERATORIUS
BLOCK_OPERATOR
Kitaselementas
VBA, norint organizuoti kilpas su nežinomu pasikartojimų skaičiumi, pridedami kiti kilpos operatoriai:
ciklai su peredumovoy DarykNors … kilpa,
DarykIki … kilpa;
ciklai su postum - Daryk … kilpaNors,
Daryk … kilpaIki.
Toliau pateikiama ciklo cx teiginių sintaksė:
Dviratis iš PeredumovojausDaryk Nors … kilpa
Daryk KolUMOVI
BLOCK_OPERATOR
BLOCK_OPERATOR
Dviratis iš PeredumovojausDaryk Iki … kilpa
DarykIkiUMOVI
BLOCK_OPERATOR
BLOCK_OPERATOR
Ciklas su pomirtiniuDaryk … kilpa, o
BLOKAS_ OPERATORIUS
BLOCK_OPERATOR
kilpa, oUMOVI
Ciklas su pomirtiniuDaryk … Kilpa iki
BLOKAS_ OPERATORIUS
BLOCK_OPERATOR
Kilpa ikiUMOVI
operatorius DarykWhile… Kilpa užfiksuokite kelis operatoriaus bloko pakartojimus taškais, dokais UMOVI dorimuetsya, ir operatorius
Kitos naujienos
3.5.1 Išmaniojo ir beprotiško perėjimo operatoriai. operatorius Jeigu…Tada... Kitaip
VBA proto lenkimas, Jei... Tada... Kitu operatorius, Jei konstruoti lizdus
Išmanusis perėjimo operatorius- vienas iš svarbiausių ir labiausiai paplitusių kilnojamojo programavimo elementų. Pagrindinis jų darbo principas yra paprastas: persvarstoma, kad tai yra teisinga protui (tiesa ta, kad tai yra bet kurios kalbos chibnistas) ir kad bet kokios rūšies vikonnannya programos klaidingumas ištaisomas iš vienos ir kitos pusės. VBA turi du išmaniojo šuolio operatorius: If… Tada… Else ir Select Case.
operatorius Jei tada... Else yra populiariausias tarp programuotojų. Naujoji sintaksė atrodo taip:
Jei Umova Tada
1 komanda
Su kuo:
- Umov- Viraz, kuris paverčiamas tiesa. Jei tai tiesa, tada Command1 pašventinama, jei nedorai - Command2;
- UmoviN- dodatkovі protas, yakі galima gerbti. Jei smarvė mojuoja (viraz UmoviN tiesa), tai KomandiN mojuoja.
Jei… Tada… Else pareiškimas sugenda:
- jei reikia persvarstyti vieno proto pagrįstumą, o tuo pačiu, skirtingo intelekto atveju, tai kaip diyu:
Jei nTemperatūra< 10 Then
MsgBox „Užsivilk švarką“
- jei reikia apiplėšti tuos, kurie yra priešais užpakalį, o esant nenuoseklumui, vikonaty іnsu dіyu:
Jei nTemperatūra< 10 Then
MsgBox „Užsivilk švarką“
MsgBox "Aprenk vėjo striukę"
- jei reikia atsiversti į dešimtmečio proto galiojimą (pagarba loginių operatorių pasirinkimui):
If(nTemperatūra< 10) And (bRain = True) Then
MsgBox „Užsivilk striukę ir pasiimk skėtį“
- lygiai taip pat, kaip pirmasis aidėjimas pasidarė „False“, būtina jį iš naujo patvirtinti, kad būtų daugiau žmonių (tokiu atveju lengva pasukti „ElseIf“):
Jei (bIGoInCar = tiesa) Tada
MsgBox "Suknelė automobiliui"
ElseIf nTemperatūra< 10 Then
MsgBox „Užsivilk švarką“
MsgBox "Galite eiti į marškinius"
Šioje programoje „bIGoInCar“ skeveldros pakeičiamos į Būlio tipą ir pačios priima „True“ arba „False“ reikšmes, pirmoji eilutė gali atrodyti taip:
Jei bIGoInCar Tada…
Deyakі pagarba shkodo vykoristannya Jei… Tada... Kita:
- raktinis žodis Tada gali būti toje pačioje eilutėje su Jei tas protas. Jei perkelsite jogą į kitą eilutę, pamatysite priminimą apie atleidimą;
- Jei norite paskleisti komandą, jei reikia „vicoon“, jei tai tiesa, pagalvokite apie tai, kas taisoma, toje pačioje eilutėje su „If“ ir „Then“, tada negalite rašyti „End If“:
Jei nTemperatūra< 10 Then MsgBox "Одеть куртку"
- Na, o jei laimite krūvą komandų ar Else / ElseIf konstrukcijų, tada Pabaiga Jei, pavyzdžiui, reikia parašyti obov'yazkovo - kitu atveju yra sintaksinis atleidimas.
- Jei… Tada išraiškai rekomenduojama pasirinkti veiksmus, kad pamatytumėte komandų blokus. Priešingu atveju bus svarbu perskaityti kodą.
- Jei... Tada teiginius galima sudėti vienas į vieną:
Jei MyVar = 5 Tada
MsgBox "MyVar=5"
Jei MyVar = 10 Tada
MsgBox "MyVar=10"
Tabletės