VBA оператори: лесен избор. Методически постановки и задачи Vba Smart If Statement

Измийте още по-криво при програмиране, фрагментите ни позволяват да спечелим dі, угар според установените критерии (същият принцип се печели АКОфункции на Excel).

Най-важната функция, както питате ума АКОИ веднага се чудим как работи:

Ако [УМНО ТУК] Тогава "=> YAKSHO umova vіrna, TODI "Инструкции, като "вярно" Друго "=> СРЕЩУ ПАДЕНИЕТО "Инструкции, като "глупости" Край Ако

Да преминем към практиката и да се обърнем към дупето, което ме имитираше по време на промяната. Метафората на процедурата беше във факта, че тя отваря диалоговия прозорец, сякаш е стойността на реда, посочен в средата F5:

Как се въвежда писмо в стаята F5, tse нанесете прошка. Искаме да спасим някого.

Подпроменливи () "Деклариране на промяна Dim last_name As String, first_name As String, age As Integer, row_number As Integer "Присвояване на промяна за промяна row_number = Range("F5") + 1 last_name = Cells(row_number, 1) fir , 2) age = Cells(row_number, 3) "MsgBox Dialog Box last_name & " " & first_name & "," & age & " years" End Sub

Нека dodamo ума, yaku reverify - chi е въведете стойността в средата F5номер, пред него, като кодът ще бъде виконано.

Ускоряваме функцията IsNumericза реверберация:

Подпроменливи () "Каква е стойността в дъгите (комикс F5) є числова (I ТОВА Е ЧИСЛО, АКО Є BRIM) тогава "тогава Ако е Число (Диапазон ("F5")) Тогава "Деклариране на промяна Dim last_ , first_name As Низ, възраст Като цяло число, номер_на_ред Като цяло число "Присвоена стойност за промяна номер_на_ред = Диапазон("F5") + 1 фамилно_име = Клетки (номер_на_ред, 1) първо_име = Клетки (номер_на_ред, 2) възраст = Клетки (ред "диалогов прозорец на MsgBox последно_име & " " & first_name & "," & age & " age" End If End Sub

Също така е необходимо да запишем инструкции, сякаш умът не е настроен:

Подпроменливи () If IsNumeric (Диапазон ("F5")) Then "Деклариране на промяна Dim last_name As String, first_name As String, age As Integer, row_number As Integer "Присвояване на стойност за промяна на row_number = Range + 1 last_name = Cells (row_number, 1) first_name = Клетки (номер_на_ред, 2) възраст = Клетки (номер_на_ред, 3) "Диалогов прозорец MsgBox last_name & " " & first_name & "," & age & " ro_v" Else "Така че не виждайте "Диалогов прозорец : Предходен MsgBox "Въведена стойност & диапазон ("F5") & "Не може да се потвърди!" "ClearContents End If End Sub

Сега нечисловите значения не създават ежедневни проблеми.

Pratsyyuyuchi с нашия масив, който ще отмъсти на 16 реда данни, нашата офанзива ще бъде в reverbirtsі chi є промяна на row_number: "по-ниско или повече 2" и "по-малко по-ниско или повече 17".

Нека хвърлим бърз поглед към операторите povnyannya:

и tsі korisnі оператори:

Сега нека dodamo един от най-добрите умове Имежду операторите

Подпроменливи () If IsNumeric (Диапазон ("F5")) Then "Dim last_name As String, first_name As String, age As Integer, row_number As Integer row_number = Range("F5") + 1 If row_number > = 2 And row_number

Ако искаме да направим нашия макрос по-практичен, можем да заменим 17 за промяна, yak mistila b kіlkіst rowkіv. Tse ще ни позволи да добавяме и премахваме редове от масива, без да е необходимо да променяме лимита на кожата.

За да направим разлика, можем да създадем промяна nb_редовеи добавете тази функция.

Имам победна функция WorksheetFunction.CountA, като аналог на функцията COUNTAв самия Excel.

Искаме това да е функция, която избира редица непразни среди в първата колона, като записва стойността на промяната nb_редове:

Подпроменливи () If IsNumeric (Range("F5")) Then "YAKI NUMBER Dim last_name As String, first_name As String, age As Integer, row_number As Integer Dim nb_rows As Integer row_number = Range("F5") = 1 WorksheetFunction. CountA (Диапазон ("A:A")) "Функция за преброяване на броя редове, ако row_number > = 2 и row_number

ElseIf

ElseIfви дава възможност да добавяте допълнителни опции и след това IF команди:

Ако [CLEAN 1] Тогава "=> YAKSCHO Umova 1 е вярно, TODI "Инструкции 1 ElseIf [CLEAN 2] Тогава "=> YAKSCHO Umova 1 е грешно, Ale Umova 2 е правилно, TODI "Инструкции 2 Else" => Else " Инструкции Ако

Якщо УМОВИ 1 vykonuetsya, Инструкция 1 bude vikonano ta лиши оператора АКО(от който започва АКОзавършва с End If). Якщо УМОВИ 2придобиване на смисъл" глупости “, тогава ще бъдеш виконана Инструкция 2, и сякаш въртеше дявола си " глупости ", тогава Инструкция 3(под Друго) ще бъде изпълнено.

Sub scores_comment() "Промяна на Dim note като цяло число, score_comment като String note = Range("A1") ElseIf note = 5 Then score_comment = "Резултат Гарни" ElseIf note = 4 Then score_comment = "Задоволителен резултат" ElseIf note = 3 Then score_comment = "Неуспешен резултат" ElseIf note = 2 Then score_comment = "Лош резултат" = "Лош резултат" Else score_comment = "Нулев резултат" End If "Коментар в среден B1 Range("B1") = score_comment End Sub

Изберете

Існує алтернатива vikoristany Ако s bagatma ElseIfинструкции, но самата команда Изберете, как да подходим повече към подобни ситуации.

Нека да разгледаме задната част на макрос с оператор Изберете:

Sub scores_comment() "Промяна на Dim note As Integer, score_comment As String note = Range("A1") "Коментари въз основа на резултата Select Case note"

Varto показва, че можем да спечелим и с други оператори на мача:

Случаят е >= ​​6

Приложете с различни значения:

Случай е = 6, 7 "каква стойност = 6 или 7 Случай е 6, 7" каква стойност не е добра 6 или 7 Случай 6 до 10

The IF функциявъв VBA е един от най-използваните оператори. Функциите IF проверяват дали определеното условие е изпълнено или не. Функцията IF във VBA работи малко по-различно от това в Excel. В Excel функциите IF приемат две стойности: Стойността на обръщането, което означава, че може да бъде оценена на TRUE или FALSE и ще бъде актуализирана, за да се базира на т.е. IF( условие, return_value_if_condition_true, return_value_if_condition_false). Функцията IF във VBA обаче е само първата част, т.е. проверете дали условието се оценява на TRUE или FALSE. Натиснете произволен сценарий, както е посочено за помощта на друг оператор THEN.

Използване на проста функция IF във VBA

Ето един пример за IF функция. Тази точка в кода на VBA просто проверява дали посоченото условие (т.е. 1 > 4) се оценява на TRUE или FALSE. Във всеки случай, ако има само няколко инсталации, плетенето на една кука ще бъде разбито до TRUE, когато се замислите. Във всеки случай резултатът ще се покаже на екрана. Тъй като функцията беше поставена на FALSE, VBA кодът няма да направи нищо.

1
2
3
4
5

Под IF_FUNCTION()
Ако 7 > 1 Тогава
MsgBox "7 е по-голямо от 1"
Край Ако
край подп

The ТОГАВАоператорът е по същество директива, указваща, че стъпките непосредствено след него трябва да бъдат изпълнени, ако условието точно преди if е оценено на TRUE.

Функция IF по подразбиране END IF декларация, която позволява на приложението да знае, че това е последният ред на функцията IF. По-долу е дадена малко по-кратка форма на функцията IF. Имайте предвид, че операторът END IF е елиминиран в това и по този начин три реда код са обединени в един.

Под IF_FUNCTION_SHORT()
Ако 7 > 1 Тогава MsgBox "7 е по-голямо от 1"
край подп

Тази форма обаче трябва да се използва само когато няма ДРУГОили ИНАЧЕ АКОса необходими изявления. Нека да разгледаме какво представляват те и как помагат за подобряване на функцията IF.

Vicorist IF функция с ELSE във VBA

В случаите, когато е възможно, ние сме наясно, че функцията IF е виновна за създаването до края на гриза само ако умът е оценен на TRUE. Но все пак мислите за тези, че малките ще бъдат създадени от факта, че както е, ще бъдете посрещнати. Един от начините да накарате функцията IF да спечели за оператора ELSE. Просто казано, операторът ELSE кара приложението да изпълни стъпките, споменати в блока ELSE, когато условието, посочено в клаузата IF, се изчисли като FALSE.

В кода на VBA по-долу, в IF функциите се оценяват на false, стиловете, споменати в блока ELSE, се изпълняват, в резултат на което съобщението „1 е по-малко от 4“ се показва на екрана. Към блока могат да се добавят множество стъпки, така че всички да се изпълняват една след една.

1
2
3
4
5
6
7

Под IF_ELSEIF_FUNCTION()
Ако 1 > 4 Тогава

иначе:
MsgBox "1 е по-малко от 4"
Край Ако
край подп

За допълнителни IF функции с ELSEIF и ELSE: във VBA

Изявлението ELSE може да бъде одобрено за изразите ELSEIF. Вонята е типична за повторна проверка за конкретни умове и тъй като всички те са оценени като ПЪЛНИ, доказателствата се маркират в ДРУГО на ума, ще има остатъчни приемания. Операторът IF ще провери за дадено условие. Оказва се FALSE, условието, посочено в първия оператор ELSEIF, ще бъде проверено. Като вонята да вземеш съдбата на това, което мислиш, назначено в друга част на ELSEIF, ще бъде разгледано, а след това и не само. Всичко е зададено в клаузите IF и ELSEIF на FALSE, само малко споменато под последния ELSE: блокът ще бъде изпълнен. За да повторя, тъй като вонята е множество ELSEIF изрази, тогава първите, които оценяват като TRUE, ще бъдат отхвърлени и след като бъде пропуснат, кодът за изпълнение ще се свие до END IF израз. Независимо дали става дума за най-големите умове на ELSEIF, които са оценени като TRUE, само първите, които са оценени като TRUE, ще бъдат екзекутирани.

1
2
3
4
5
6
7
8
9
10
11


Ако< > тогава
MsgBox "1 е по-голямо от 4"
ElseIf< > тогава

ElseIf< > тогава

Друго< >:

Край Ако
край подп

Текстът е показан по-долу, първо е отметнато IF. Тъй като се оценява на FALSE, първото условие ELSEIF се оценява, последвано от второто. Без нито една от тях, те бяха оценени като TRUE, Стъпките, споменати в ELSE: umova є изпълнени.

1
2
3
4
5
6
7
8
9
10
11

Под IF_ELSEIF_ELSE_FUNCTION()
Ако 1 > 4 Тогава
MsgBox "1 е по-голямо от 4"
ElseIf 2 > 4 Тогава
MsgBox "2 е по-голямо от 4"
ElseIf 3 > 4 Тогава
MsgBox "3 е по-голямо от 4"
иначе:
MsgBox "1, 2 или 3 - по-малко от 4"
Край Ако
край подп

Бърз съвет – Как да разширите операторите IF да работят по-бързо

Намаляването на страничния код изглежда подобно. Два ума ELSEIF в друга функция могат да бъдат свалени. Кое задържане на мишката във VBA код според вас се изпълнява по-бързо?:
Край Ако
Следваща i
MsgBox Timer - t
край подп

отговорът е, че вторият се изпълнява много по-бързо от първия. Защо? Този, който се нуждае от две секунди, за да спре в движение през неравните редове в кода преди него, както е, той се оценява като TRUE. Уважавайте, че ELSEIF е първи, че TRUE се изпълнява и нито едно от другите условия не се оценява, дори и те също да се оценяват като TRUE. В първата позиция на кода на VBA функцията ELSEIF онлайн 6 се оценява на TRUE, докато във втората, ред 5 отговаря на критериите. Този с по-голяма, по-ниска интелигентност се оценява като TRUE, по-рано трябва да бъде поставен във VBA кода, като всичко останало е същото.

Едноредова тази многоредова конструкция на оператора If...Then...Else и функцията IIf, които са често срещани в Excel VBA код - синтаксис, компоненти, приложения.

If...Then...Else твърдение

Оператор Ако...Тогава...Иначевъзлагането на прехвърлянето на управлението на един от блоковете на операторите зависи от резултатите от преобръщането на ума.

Едноредова конструкция

Оператор Ако...Тогава...Иначеможе да спечели в едноредов дизайн без ключови думи Друго, Край Ако.

Синтаксис на едноредовата конструкция If...Then...

Ако[умова] Тогава[оператор]

Едноредови конструктивни елементи Ако...тогава...

  • умова Вярноили Невярно;
  • оператори умовазавъртете стойност Вярно;

Като компонент умовазавъртете стойност Невярно, изявление блок в конструкцията Ако...тогава...

дупе 1

Sub primer1() Dim d As Integer, a As String d = InputBox("Въведете число от 1 до 20", "Инстанция 1", 1) Ако d > 10 Тогава a = "Число " & d & " е по-голямо от 10 " MsgBox a End Sub

Багаторидна конструкция

Синтаксис на конструкцията на последователността If...Then...Else

Ако[умова] Тогава[оператор] ElseIf[умова] Тогава[оператор] ---------------- Друго[оператор] Край Ако

Компоненти на багаториумната конструкция Ако...Тогава...Иначе:

  • умова- числов или редов израз, следващ ключовата дума Акоили ElseIfтова обръщане на логически смисъл Вярноили Невярно;
  • оператори- операторен блок в кода на VBA Excel, който се използва като компонент умовазавъртете стойност Вярно.
  • пунктирана линияобозначават допълнителни структурни блокове на реда ElseIf [умова] Тогаваче редове [оператор];
  • блок с изявления след ключова дума Друго vykonuetsya във всякакъв вид vipadka, но структурен блок към кода за таксуване Другоче редове [оператор]не е обов'азков и може да има пропуски.

Като компонент умовазавъртете стойност Невярно, последван от блок оператори в конструкцията Ако...Тогава...Иначетози програмен контрол се пропуска и прехвърля към следващия ред от код.

Най-простият вариант на дизайна на багаторния ред Ако...Тогава...Иначе:

Ако[умова] Тогава[оператор] Друго[оператор] Край Ако

дупе 2

Sub primer2() Dim d As Integer, a As String d = InputBox("Въведете число от 1 до 40", "Инстанция 2", 1) Ако d< 11 Then a = "Число " & d & " входит в первую десятку" ElseIf d >10 и d< 21 Then a = "Число " & d & " входит во вторую десятку" ElseIf d >20 и d< 31 Then a = "Число " & d & " входит в третью десятку" Else a = "Число " & d & " входит в четвертую десятку" End If MsgBox a End Sub

Функция IIf

функция Акоповторна проверка на дадения ум и обръщане на стойността отново и отново според резултата от повторната проверка.

Синтаксис на функцията

Ако([умова], [което е вярно], [което е невярно])

Компоненти на функцията IIf

  • умова- числов или редов израз, който обръща логически стойности Вярноили Невярно;
  • Абсолютно вярно Ако, като умоваобърна стойността Вярно;
  • Невярно- стойност, как да завъртите функцията Ако, като умоваобърна стойността Невярно.

дупе 3

Sub primer3() Dim d As Integer, a As String d = InputBox("Въведете число от 1 до 20", "Инстанция 3", 1) a = IIf(d< 10, d & " - число однозначное", _ d & " - число двузначное") MsgBox a End Sub

При натискане на бутона „Отказ“ или затваряне на диалоговия прозорец на полето за въвеждане с кръстче се генерира помилване, така че в тези стъпки се обръща празен ред. Присвояването на празен ред от промяна към тип D Integer изисква помилване. При натискане на бутона "OK" на диалоговия прозорец въведеното число в полето за въвеждане в текстов формат, VBA Excel автоматично преобразува в числовия формат на промяната d.

Основни VBA оператори за преместване

Коментари (0)

3.1. Правила за запис на оператори

Когато записвате оператори, спазвайте следните правила:

Кожата на нов оператор се записва от нов ред.

За да напишете куп оператори на един ред, те се разделят помежду си с двойно (:).

Ако операторът не се движи в един ред, тогава е необходимо да поставите в края на реда знак за интервал (_) и след това да продължите частта, която не се побира на следващия ред.

3.2. Оператор за покани

Операторът е привлечен от победа, сякаш се променя, е необходимо да се даде нова стойност. Win може да е обиден синтаксис:

ИМ'Я_ЗМИННОЙ= ВИРАЗ

В същото време резултатите се броят в дясната част и след това се очаква да се промени резултатът, който ще остане в лявата част.

Например. Запишете за помощ на оператора, за да привлечете началото на математически вираз:

Във VBA цялата вируса може да бъде записана в присъствието на обиден оператор:

Y = a^(1/3)+(a^2+Exp(-b))/(Sin(a)^2-Log(b))

3 .3. Въвеждане на оператори

3 .3.1. Оператор и функция MsgBox

Оператор MsgBoxЗадайте показването на информация в диалоговия прозорец и задайте режима на натискане на бутона с кратък бутон.

Win може да е обиден синтаксис:

MsgBox Известия[,Бутони][, Заглавие]

Аргументи:

съвет - obov'yazykovyy аргумент, scho пита на vіkní іnformatsiyne voіdomlennya. Може да се формира от множество текстови редове, обединени със знак & . Цитат от чий аргумент Chr (13)за да доведете преди прехода към нов ред pіd час на показване на информация.

Бутони - стойността на този аргумент определя категорията бутони, които се появяват в прозореца. Стойността на аргумента на бутона за депозит е същата като тази на иконата. Ако не е посочено, ако бутоните трябва да се показват в прозореца за събуждане, стойността се избира за промоцията, ако се показва бутонът OK. На масата 3.1 възможни комбинации от бутони и икони в прозореца за уведомяване.

заглавка - Задайте заглавието на прозореца.

функция MsgBoxЗавъртете стойността, за да въведете Integer, за да посочите как е натиснат бутонът в диалоговия прозорец.

Таблица 3.1. Валидни стойности на бутона за промяна

Ферментация

Аргумент

бутон OK

Бутони OK и Skasuvannya

Бутони Да и Не

Бутони И така, Ní ta Skasuvannya

Бутони Pin, Repeat и Ignore

VbAbortRetryIgnore

Бутони Повторение и Скасувати.

Информационен знак

знак за храна

знак за градушка

Например. Моля, предоставете информация за текущата дата.

MsgBox "Днес в календара" и дата, "Uvaga"

В резултат ще се покаже следващата стъпка (фиг. 3.1).

След натискане на бутона OK, подканата ще се затвори и програмата ще се събуди от оператора, който трябва да е непосредствено зад повикването на MsgBox.

3.3.2. функция InputBox

функция InputBox zdіysnyuє vіdnjuє vіnnja zmіnnyh vіnіh vіkna vіkna vіkna ta maє напредващ синтаксис:

Im'ya_Zminniy = InputBox(Забележка[, Заглавие] )

Аргументи:

съвет - Obov'yazykovy аргумент. Попитайте в края на информационната бележка какво да кажете, за да обясните стойността на сензора, която трябва да бъде въведена

заглавка - Задайте заглавието на прозореца.

Например, Въведете стойността на промяната N от клавиатурата, предавайки стойността на подканата 10.

За което можете да завъртите обидния оператор:

N = InputBox("Въведете N", "Входни данни",10)

В резултат на това ще се покаже следващият прозорец за въвеждане на стойността на промяна на N (фиг. 3.2).

Ако стойността за заключване е правилна, то след натискане на бутона ОК прозорецът за въвеждане се затваря, като при промяна на N се присвоява стойност 10 и след програмата се влиза от оператора, което трябва да стои без обаждане InputBox.

Ако стойността за заключване не е подходяща за потребителя, тогава преди да щракнете върху бутона OK, е необходимо да въведете необходимата стойност на промяната N.

3 .четири. Smart IF изявление

За изпълнение на процеса на декомпозиращо изброяване VBA използва оператора Ако… Тогава… Иначе,което е най-простата форма на perevírki умове. Win може да е обиден синтаксис:

АкоУМОВИТогаваОПЕРАТОР_1дlseОПЕРАТОР_2

ОПЕРАТОР_1 vykonuetsya, като УМОВИвярно, иначе победоносно ОПЕРАТОР_2. В този случай изразът If…Then…Else е написан на един ред.

УМОВИ- Tse viraz логически тип. Резултатът от virazu може да бъде от булев тип. Вираз може да прости и да се откаже. При записване на прости умове, всички възможни операции в синьо, посочени в табл. 3.2.

маса3 .2. логично синьо

Операция

име

Вираз

Резултат

Вярно, което означава, че A е по-близо до B

Вярно, което означава, че А не е същото като Б

Вярно, същото като А, повече

Вярно, което е по-малко

Повече чи равно

Вярно, което е горе-долу едно

По-малко или по-скъпо

Вярно, като A по-малко или по-добре

Сгъваемите умове са съставени от прости пътеки, използвани за логически операции и кръгли лъкове. Списъкът с логически операции е показан в табл. 3.3.

маса3 .3. Логически операции

име

Вираз

Резултат

по-логично
забранен

Логика I

Логически ABO

В интелигентния оператор приемливото заместване на операторния блок е операторът на кожата. В този момент умният оператор може да изглежда:

АкоУМОВИТогава

BLOCK_OPERATOR_1

BLOCK_OPERATOR_2

Край If

В умствения оператор могат да бъдат изкривени декил умове. В този момент умният оператор може да изглежда:

АкоУМОВИ_1Тогава

BLOCK_OPERATOR_1

ElseIfУМОВИ_2Тогава

BLOCK_OPERATOR_2

Друго

крайАко

дупе 1. Напишете част от програмата за алгоритъма от фиг. 3.3.

дупе 2.Напишете част от програмата за алгоритъма от фиг. 3.4.

3.5. Изберете Case Operator

Операторът Select Case избира ръчно, ако има стойност със същата стойност във грешката, ако има максимален брой допустими стойности, е необходимо да изберете различна стойност. Vín също се отнася към интелигентните оператори, но може да изглежда по друг начин:

Изберете CaseREVIRATED_VIRAZ

случайVALUE_1

ОПЕРАТОРИ_1

случайСТОЙНОСТ_ 2

ОПЕРАТОРИ_ 2

. . .

случайVALUE_N

ОПЕРАТОРИ

[ случайДруго

В противен случай_ ОПЕРАТОРИ]

Край Избор

REVIRATED_VIRAZможе и майка, да е скаларски тип, крим реч. СТОЙНОСТдобавете до определено количество стойност или диапазони, водна армировка една и една бучки.

Тип СТОЙНОСТвиновен zbígatisya z тип РЕВИРАЗИ_ВИРАЗИ.

Гръб до гръб преброени REVIRATED_VIRAZ. Колко значения вървят с едно от значенията VALUE_I, тогава спечелете ОПЕРАТОРИ_I Край Избор. Тази стойност не се променя със същите стойности VALUE_I, тогава спечелете Други_операториче контролът се прехвърля на оператора, какви са следващите разходи Край Избор

Например.Напишете част от програмата за алгоритъма от фиг. 3.5, който определя стойността на промяната S угар като стойността на промяната n.

3.6. оператор на цикъл

За прилагането на процес на циклично изброяване, тоест един или повече оператори, един или повече оператори, служат като оператор на цикъл За… Следващия, което може да е следващият синтаксис:

ЗаДЕТЕ=START_VALUETоEND_VALUEстъпкаКРОК

BLOCK_OPERATOR

BLOCK_OPERATOR

СледващияЛИЧИЛНИК

Цикълът For…Next итерира стойността на промяната ЛИЧИЛНИК, като параметър на цикъла, от кочана до последната стойност от определената култура за промяна. С това е безопасно да следвате блока оператори в тялото на цикъла с нова кожна стойност на личника. Якщо стъпкаКРОКпри проектирането vídsutnya, тогава трябва да се погрижите за ключалката, че работата е скъпа 1. Зад оператора Изход заможете да излезете от оператора за цикъл преди ЛИЧИЛНИКдостигнете оставащата стойност.

За да изброите обекти от група подобни обекти, например в средата на диапазон или масив, изберете ръчно оператора за цикъл За…Всеки… Следващ.

За всекиелементвгрупа

БЛОКИРАНЕ_ ОПЕРАТОР

BLOCK_OPERATOR

Следващияелемент

Във VBA, за организиране на цикли с неизвестен брой повторения, се добавят други оператори за цикъл:

цикли с peredumovoy НаправиДокатоцикъл,

НаправиДоцикъл;

цикли с постум - НаправицикълДокато,

НаправицикълДо.

По-долу е синтаксисът на cx изразите в цикъла:

Цикъл от ПередумовойНаправи Докато цикъл

Правете докатоУМОВИ

BLOCK_OPERATOR

BLOCK_OPERATOR

Цикъл от ПередумовойНаправи До цикъл

НаправиДоУМОВИ

BLOCK_OPERATOR

BLOCK_OPERATOR

Цикъл с посмъртноНаправи цикъл докато

БЛОКИРАНЕ_ ОПЕРАТОР

BLOCK_OPERATOR

цикъл докатоУМОВИ

Цикъл с посмъртноНаправи Loop Until

БЛОКИРАНЕ_ ОПЕРАТОР

BLOCK_OPERATOR

Loop UntilУМОВИ

Оператор НаправиУhile…Loopосигурете няколко повторения на операторския блок в точки, докове УМОВИ dorimuetsya, и операторът



Други новини

3.5.1 Оператори на интелигентния и лудия преход. Оператор ако…Тогава... Друго

VBA умопомрачителен, If...Then... Оператор Else, If конструктивно влагане

Оператор за интелигентен преход- един от най-важните и най-често срещаните елементи на подвижното програмиране. Основният принцип на тяхната работа е прост: преразглежда се, че е вярно на умовете (вярно е, че е chibnist на всякакъв вид език) и че грешката на програма за използване се изправя една от друга. VBA има два интелигентни оператора за прескачане: If… Then… Else и Select Case.

Оператор Ако… Тогава... Else е най-популярен сред програмистите. Новият синтаксис изглежда така:

Ако Умова Тогава
Команда1

С кого:

  • Умов- Вираз, което се превръща в истина. Ако е вярно, тогава се освещава Command1, ако е нечестиво - Command2;
  • УмовиН- допълнителен ум, яки могат да бъдат почитани. Щом вонята се развява (вираз УмовиН е вярно), значи Командините се развяват.

Операторът If…Then... Else ще се срине:

  • ако е необходимо да се преразгледа валидността на един ум и в същото време, в случай на различна интелигентност, това е като diyu:

Ако nТемпература< 10 Then

MsgBox "Облечете якето си"

  • ако е необходимо да ограбите тези, които са пред дупето, и във времена на несъответствие, vikonaty іnsu díyu:

Ако nТемпература< 10 Then

MsgBox "Облечете якето си"

MsgBox "Облечете ветровката"

  • ако е необходимо да се върне към валидността на десетилетие умове (зачитане на избора на логически оператори):

Ако (nТемпература< 10) And (bRain = True) Then

MsgBox "Облечете якето си и вземете чадър"

  • точно както първата реверберация стана False, е необходимо да я проверите отново за по-dekil умове (в който случай е лесно да завъртите ElseIf):

Ако (bIGoInCar = True) Тогава

MsgBox "Рокля за кола"

ElseIf nТемпература< 10 Then

MsgBox "Облечете якето си"

MsgBox "Можете да отидете до ризата"

За това приложение шардовете bIGoInCar се променят на булев тип и сами по себе си приемат стойностите True или False, първият ред може да изглежда така:

Ако bIGoInCar тогава...

Deyakí уважение shkodo vykoristannya Ако…Тогава… Друго:

  • ключовата дума Then може да е в същия ред с If that mind. Ако прехвърлите йога на следващия ред, ще видите напомняне за помилване;
  • Ако искате да разпространите командата, ако е необходимо да vicoon, ако е вярно, помислете какво се коригира, на същия ред с If и Then, тогава не можете да напишете End If:

Ако nТемпература< 10 Then MsgBox "Одеть куртку"

  • Е, ако спечелите куп команди или конструкции Else / ElseIf, тогава End If, например, е необходимо да напишете obov'yazkovo - в противен случай има синтактично помилване.
  • за израза If…Then се препоръчва да изберете стъпките, за да видите командните блокове. В противен случай ще бъде важно да прочетете кода.
  • Ако ... Тогава изразите могат да бъдат вложени едно в едно:

Ако MyVar = 5 Тогава

MsgBox "MyVar=5"

Ако MyVar = 10 Тогава

MsgBox "MyVar=10"

Таблетки