Біжить заєць по лісу і бачимо ведмедя, який читає книгу. Заєць питає: "Клишоногий, ти що читаєш?" Той з розумним виглядом відповідає: "Логіку". Косий з здивованим виглядом запитує "А що таке логіка?" "Ну дивись" - говорить ведмідь:
- М: У тебе сірники є?
- З: Ні
- М: Значить, ти не куриш
- З: Так!
- М: Якщо ти не куриш, значить, немає зайвих витрат грошей
- З: Чи правда!
- М: Значить, ти ходиш по дівкам?
- З: Звичайно!
- М: А раз ти ходиш по дівкам, значить, ти не імпотент!
- З: Знову вірно!
Заєць зрадів настільки розумною книзі і попросив почитати її у клишоногого. Йде по лісі задоволений і радіє, тут йому назустріч вовк йде. Заєць вирішив випробувати логіку на сірому і питає його:
- З: У тебе сірники є?
- В: Так
- З: Чи означає ти імпотент!
Ну да, переказав анекдот як пам'ятав
Добре, тепер давайте приступимо до теорії ...
Варіант 1. Найпростіший варіант використання умовного оператора VBA if, це коли йде перевірка умови, і якщо воно виконується, то йде виконання одного виразу:
If умова then вираз
Варіант 2. Може виникнути ситуація, коли після перевірки умови треба виконати кілька виразів, в такому випадку оператор if набуває вигляду:
Як бачимо, в даному випадку використовується закриває блок if ... end if, він актуальний і в тому випадку, коли оператори вкладені.
Варіант 3. Щоб не створювати вкладених умовних операторів, використовується наступна конструкція:
Тут все гранично просто, якщо умова істинна, виконується перший вираз, якщо немає - другий. Варто пам'ятати, що після перевірки умови можуть слідувати кілька операторів, як в варіанті вище.
Варіант 4. Перевірка декількох умов:
ElseIf умова 2 then
ElseIf умова 3 then
Логіка роботи така: спочатку йде перевірка першого умови, якщо воно істинне, то виконуються перші вирази і після відбувається перехід до оператора, що слідує за End If. Якщо ж перша умова не виконується, відбувається перевірка другого і так далі, використання виразу Else в кінці не є обов'язковим, за ним може слідувати оператор, який повинен виконатися, якщо жодне з попередніх умов не виповнилося.
У процедурі GetSub відбувається використання циклу VBA do loop. умова виконання циклу - значення змінної MySumm має бути менше або рівно 10000. У тілі самого циклу використовуються оператори VBA if then з декількома варіантами. Відбувається перевірка умов: якщо сума досягла значення 10, то записати в перший текстове поле одну інформацію, якщо 100 - іншу інформацію, якщо 1000 - третю інформацію, в іншому випадку - записати дані в властивість Caption четвертого текстового поля.