Блок-оператори за взимане на решение: If ... Then. Пример

Безплатни 20 урока
регистрирай се и научи

Ако сте вече потребител - Регистриран съм
Видео

Тест за преминаване към следващия урок

 
Всеки вложен блок-оператор If задължително завършва с End If
Вярно
Не вярно
 
Колко условни израза може да се включват с оператор ElseIf ?
няма ограничение
не повече от 5
не повече от 10
 
В блок оператор IF включваме условни изрази с логическите оператори AND, OR
Вярно
Не вярно

Въпроси и отговори

  • А как можем?

    Peter:

    А как можем да защитим от промяна, създадените от нас макроси, процедури? Имам предвид, направили сме някаква разработка и сме я предали на възложител. Този възложител с цел облагодетелстване прави някакви промени в процедурите и в случай на разобличение прехвърля вината върху нас. Пък и ако щете, направил съм нещо, което ми се ще да не се разваля по-нататък особено от мен, защото работи добре :) Нещо от типа Read Only.

    Димитринка:

    Може да защите с парола проекта, т.е. модулите и процедурите да се виждат след като се въведе паролата, а тази тема разглеждам в следващия модул 6. Разбира се, паролата не е 100% гаранция, но все пак помага :-)

    Peter:

    Благодаря :)

    Peter:

    Тук едно допълнение - когато копирам процедура от VBA в текстов редактор, коментарите на кирилица са нечетими, нещо с енкодинга вероятно ... Това има ли отношение към защитата?  :) На мен ми е по-удобно процедурата да я разглеждам на голям екран и евентуално да смесвам с части от други процедури, а така коментарите ми бодат очите. Има ли начин да се оправи този ефект-дефект?

    Димитринка:

    Трябва да изберете подходящ кирилизиран шрифт, за да се чете кирилицата в текстовия редактор. За всеки случай проверете регионалните настройки в Control Panel за Windows: Control Panel --> Region & Language --> Format, Location and Administrative - и в трите групи (Tabs) трябва да е избрана Bulgaria.
    Няма връзка със защитата на проекта. 

  • Защо не работи макроса, ако вместо числата 500, 1500 и т.н поставя адреса на съответната клетка, J3, J5?

    Валентин Иванов Венков:

    Защо не работи макроса,

    ако вместо числата 500, 1500 и т.н поставя адреса на съответната клетка, J3, J5?

    Димитринка Вълкова:

    Каква е идеята Ви, защо искате да поставите адреси на клетки? Сигурна съм, че правите разлика между решенията с формули в Excel и процедурите във VBA.

    Валентин Иванов Венков:

    От 5 дена се опитвам да направя макрос, който търси стойността от клетка А в диапазон от клетки, фиксира клетката със съвпадение, копира диапасон от клетки и го пейства в диапазон с начало клетката под клетката на съвпадението. Трябва да работи и обратно. Да копира диапазона под клетката на съвпадението и пейства в другия диапазон. Пробвах с For each, но е много бавно и дава проблеми.

    Kocho:

    Без да видим файла и кода как да отговорим? Отделно, преди да мъдрим макроса, хубаво е да знаем контекста - каква е крайната цел.

    Може би има и друг начин

    Димитринка Вълкова:

    Kocho е написал един много ценен основен принцип - преди да "мъдрувате" как да стане, трябва да сте наясно какво искате да получите (крайната цел) и с какво разполагате. Ще ни улесните да намерим решение като покажете картинки: 1. За диапазона от клетки, в който търсите съвпадението 2. За новия диапазон, в който копирате.