HTML, Excel, Word, SEOÎñíîâû VBA ⇒ Öèêëû VBA

Îñíîâû VBA

Ñàìîó÷èòåëü vba: Òåîðèÿ
..Ïåðâûé ìàêðîñ â Word
..Ýòàïû çàïèñè ìàêðîñà
..Çàïèñü ìàêðîñà â Word
..Çàïèñü ìàêðîñà â Excel
..Êîä ìàêðîñà
..Âûïîëíåíèå ìàêðîñà
..Òèïû äàííûõ VBA
..Ïåðåìåííûå VBA
..Êîíñòàíòû VBA
..Ñîâìåñòèìîñòü òèïîâ äàííûõ
..Àðèôìåòè÷åñêèå îïåðàòîðû
..Ëîãè÷åñêèå îïåðàòîðû
..Ñòðîêîâûå îïåðàòîðû
..Ôóíêöèè VBA ÷.1
..Ôóíêöèè VBA ÷.2
..Ïðèìåðû èñïîëüçîâàíèÿ ôóíêöèé
..Ôóíêöèè host-ïðèëîæåíèé
..Ôóíêöèè-ïðîöåäóðû
..Ïîëüçîâàòåëüñêèå ôóíêöèè â Excel
..Îïåðàòîðû âåòâëåíèÿ: ïðîñòîé âûáîð
..Îïåðàòîðû âåòâëåíèÿ: ñëîæíûé âûáîð
..Èñïîëüçîâàíèå MsgBox
..Ïðåðûâàíèå ïðîöåäóð è ôóíêöèé
..Íåîáÿçàòåëüíûå àðãóìåíòû ôóíêöèé
..Öèêëû VBA ÷.1
..Öèêëû ÷.2
..Öèêëû ÷.3
..Ìàññèâû VBA ÷.1
..Ìàññèâû ÷.2
..Ìàññèâû ÷.3
..Óïðàâëåíèå ôàéëàìè ñ ïîìîùüþ VBA
Ñàìîó÷èòåëü vba: Ïðàêòèêà
Èãðà: Öåïíàÿ ðåàêöèÿ
Ïðèëîæåíèÿ
..Ñóììàòîð
..Íàêëåéêè
..Âîñüìåðêà
..Ìåíåäæåð ïî÷òû
Íàäñòðîéêè
..DEF
..SortSheets
..HideSheet

Ïîäáîðêà vps ñåðâåðîâ â Áåëüãèè ñ îòçûâàìè ïîëüçîâàòåëåé è àíàëèçîì òàðèôîâ çäåñü  

Öèêëû VBA (÷.2). Öèêëû òåñòèðóþùèå óñëîâèÿ äî è ïîñëå âûïîëíåíèÿ òåëà öèêëà


Ñóùåñòâóþò äâà îñíîâíûõ ñïîñîáà ñîçäàíèÿ íåîïðåäåëåííîãî öèêëà. Ìîæíî ïîñòðîèòü öèêë òàê, ÷òî VBA áóäåò òåñòèðîâàòü íåêîòîðîå óñëîâèå (äåòåðìèíàíò öèêëà) ëèáî ïåðåä âûïîëíåíèåì öèêëà, ëèáî - ïîñëå âûïîëíåíèÿ öèêëà.

Öèêë Do .. While

Êîíñòðóêöèÿ öèêëà, òåñòèðóþùàÿ ñâîå óñëîâèå äåòåðìèíàíòà äî âûïîëíåíèÿ öèêëà.

Ñèíòàêñèñ:


Do While Condition
  Statements
Loop


Condition - ëîãè÷åñêîå âûðàæåíèå äëÿ äåòåðìèíàíòà öèêëà

Statements - îäèí, íè îäíîãî èëè íåñêîëüêî îïåðàòîðîâ, êîòîðûå ñîñòàâëÿþò òåëî öèêëà

Loop - êëþ÷åâîå ñëîâî, óêàçûâàåò íà îêîí÷àíèå òåëà öèêëà è îáîçíà÷àåò ìåñòî, èç êîòîðîãî VBA âîçâðàùàåòñÿ â íà÷àëî öèêëà äëÿ ïðîâåðêè óñëîâèÿ

VBA âûïîëíÿåò öèêë ïîêà ëîãè÷åñêîå âûðàæåíèå, ïðåäñòàâëåííîå ñ ïîìîùüþ Condition, ðàâíî True.

Ïðè âûïîëíåíèè öèêëà Do While ñíà÷àëà òåñòèðóåòñÿ ëîãè÷åñêîå âûðàæåíèå (Condition); åñëè îíî ðàâíî True - âûïîëíÿåòñÿ òåëî öèêëà. Ïðè äîñòèæåíèè êëþ÷åâîãî ñëîâà Loop óïðàâëåíèå îïÿòü ïåðåäàåòñÿ â íà÷àëî öèêëà è ñíîâà ïðîâåðÿåòñÿ ëîãè÷åñêîå âûðàæåíèå. Òàê ïðîèñõîäèò äî òåõ ïîð, ïîêà ëîãè÷åñêîå âûðàæåíèå íå ñòàíåò False. Êîãäà ëîãè÷åñêîå âûðàæåíèå ñòàíîâèòñÿ False - óïðàâëåíèå ïåðåäàåòñÿ îïåðàòîðó, ñëåäóþùåìó çà êëþ÷åâûì ñëîâîì Loop.


Îáðàòèòå âíèìàíèå! Åñëè ëîãè÷åñêîå âûðàæåíèå ðàâíî False ïðè ïåðâîì âûïîëíåíèè öèêëà Do While, òî óïðàâëåíèå ñðàçó ïåðåäàåòñÿ îïåðàòîðó, ñëåäóþùåìó çà Loop, à îïåðàòîðû, íàõîäÿùèåñÿ â òåëå öèêëà ñîîòâåòñòâåííî ïðîïóñêàþòñÿ. Äðóãèìè ñëîâàìè ãîâîðÿ, öèêë Do While ïîçâîëÿåò íè ðàçó íå âûïîëíÿòü îïåðàòîðû âíóòðè íåãî.


 íèæåïðèâåäåííîì ëèñòèíãå ïðåäñòàâëåí ýëåìåíòàðíûé öèêë Do While, ïîäñ÷èòûâàþùèé ñóììó öèôð îò 1 äî 10:



Öèêë Do .. Until

Åùå îäèí öèêë, òåñòèðóþùèé óñëîâèå äåòåðìèíàíòà äî âûïîëíåíèÿ öèêëà.

Ñèíòàêñèñ:


Do Until Condition
  Statements
Loop


Condition - ëîãè÷åñêîå âûðàæåíèå äëÿ äåòåðìèíàíòà öèêëà

Statements - îäèí, íè îäíîãî èëè íåñêîëüêî îïåðàòîðîâ, êîòîðûå ñîñòàâëÿþò òåëî öèêëà

Loop - êëþ÷åâîå ñëîâî, óêàçûâàåò íà îêîí÷àíèå òåëà öèêëà è îáîçíà÷àåò ìåñòî, èç êîòîðîãî VBA âîçâðàùàåòñÿ â íà÷àëî öèêëà äëÿ ïðîâåðêè óñëîâèÿ


VBA âûïîëíÿåò öèêë ïîêà ëîãè÷åñêîå âûðàæåíèå, ïðåäñòàâëåííîå ñ ïîìîùüþ Condition, ðàâíî False.

 îñòàëüíîì öèêë Do Until ïîëíîñòüþ àíàëîãè÷åí öèêëó Do While.


Ëèñòèíã, èñïîëüçóþùèé öèêë Do Until äëÿ ïîäñ÷åòà öèôð îò 1 äî 10, áóäåò âûãëÿäåòü òàê:



Äëÿ òåñòèðîâàíèÿ óñëîâèé ïîñëå âûïîëíåíèÿ òåëà öèêëà íàäî ïîìåñòèòü ëîãè÷åñêîå âûðàæåíèå â êîíåö áëîêà îïåðàòîðîâ, ñîñòàâëÿþùèõ òåëî öèêëà, ïîñëå êëþ÷åâîãî ñëîâà Loop, êîòîðîå ñîîáùàåò î êîíöå öèêëà.

Öèêë Do .. Loop While

Êîíñòðóêöèÿ öèêëà, òåñòèðóþùàÿ ñâîå óñëîâèå äåòåðìèíàíòà ïîñëå âûïîëíåíèÿ öèêëà.

Ñèíòàêñèñ:


Do
  Statements
Loop While Condition


Condition - ëîãè÷åñêîå âûðàæåíèå äëÿ äåòåðìèíàíòà öèêëà

Statements - îäèí, íè îäíîãî èëè íåñêîëüêî îïåðàòîðîâ, êîòîðûå ñîñòàâëÿþò òåëî öèêëà

Loop - êëþ÷åâîå ñëîâî, óêàçûâàåò íà îêîí÷àíèå òåëà öèêëà è îáîçíà÷àåò ìåñòî, èç êîòîðîãî VBA âîçâðàùàåòñÿ â íà÷àëî öèêëà ïîñëå ïðîâåðêè óñëîâèÿ


VBA âûïîëíÿåò öèêë ïîêà ëîãè÷åñêîå âûðàæåíèå, ïðåäñòàâëåííîå ñ ïîìîùüþ Condition, ðàâíî True.

Ïðè âûïîëíåíèè öèêëà Do Loop While ñíà÷àëà âûïîëíÿþòñÿ îïåðàòîðû òåëà öèêëà, çàòåì ïî äîñòèæåíèè êëþ÷åâîãî ñëîâà Loop òåñòèðóåòñÿ ëîãè÷åñêîå âûðàæåíèå (Condition); åñëè îíî ðàâíî True - óïðàâëåíèå ïåðåäàåòñÿ â íà÷àëî òåëà öèêëà è öèêë ïîâòîðÿåòñÿ ñíîâà. Òàê ïðîèñõîäèò äî òåõ ïîð, ïîêà ëîãè÷åñêîå âûðàæåíèå íå ñòàíåò False. Êîãäà ëîãè÷åñêîå âûðàæåíèå ñòàíîâèòñÿ False - óïðàâëåíèå ïåðåäàåòñÿ îïåðàòîðó, ñëåäóþùåìó çà ñòðîêîé Loop While...


Îáðàòèòå âíèìàíèå! Äàæå åñëè ïðè ïåðâîì âûïîëíåíèè öèêëà Do Loop While ëîãè÷åñêîå âûðàæåíèå ðàâíî False òåëî öèêëà âñ¸ ðàâíî áóäåò âûïîëíåíî. Äðóãèìè ñëîâàìè ãîâîðÿ, íåçàâèñèìî îò çíà÷åíèÿ ëîãè÷åñêîãî âûðàæåíèÿ, ïðåäñòàâëåííîãî ñ ïîìîùüþ Condition, ýòîò öèêë âñåãäà âûïîëíÿåòñÿ, ïî êðàéíåé ìåðå, îäèí ðàç.


Ëèñòèíã, èñïîëüçóþùèé öèêë Do Loop While äëÿ ïîäñ÷åòà öèôð îò 1 äî 10, áóäåò âûãëÿäåòü òàê:



Öèêë Do .. Loop Until

Åùå îäèí öèêë, òåñòèðóþùèé óñëîâèå äåòåðìèíàíòà ïîñëå âûïîëíåíèÿ öèêëà.

Ñèíòàêñèñ:


Do
  Statements
Loop Until Condition


Condition - ëîãè÷åñêîå âûðàæåíèå äëÿ äåòåðìèíàíòà öèêëà

Statements - îäèí, íè îäíîãî èëè íåñêîëüêî îïåðàòîðîâ, êîòîðûå ñîñòàâëÿþò òåëî öèêëà

Loop - êëþ÷åâîå ñëîâî, óêàçûâàåò íà îêîí÷àíèå òåëà öèêëà è îáîçíà÷àåò ìåñòî, èç êîòîðîãî VBA âîçâðàùàåòñÿ â íà÷àëî öèêëà ïîñëå ïðîâåðêè óñëîâèÿ


VBA âûïîëíÿåò öèêë ïîêà ëîãè÷åñêîå âûðàæåíèå, ïðåäñòàâëåííîå ñ ïîìîùüþ Condition, ðàâíî False.

 îñòàëüíîì öèêë Do Loop Until ïîëíîñòüþ àíàëîãè÷åí öèêëó Do Loop While.


Ëèñòèíã, èñïîëüçóþùèé öèêë Do Loop Until äëÿ ïîäñ÷åòà öèôð îò 1 äî 10, áóäåò âûãëÿäåòü òàê:



Ñëåäóåò ñêàçàòü, ÷òî ïðåäñòàâëåííûå âûøå ïðèìåðû äàíû ÷èñòî â ïîçíàâàòåëüíûõ öåëÿõ, ÷òîáû ìîæíî áûëî ïîíÿòü ñàìó ñóòü îðãàíèçàöèè íåîïðåäåëåííûõ öèêëîâ ñ ïðîâåðêîé óñëîâèé äî è ïîñëå âûïîëíåíèÿ òåëà öèêëà. Ñàìà æå ãèáêîñòü íåîïðåäåëåííûõ öèêëîâ çäåñü ÿâíî íå ïðîñìàòðèâàåòñÿ.




 íà÷àëî ñòðàíèöû



 íà÷àëî ñòðàíèöû