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 è îïåðàòîðû ñðàâíåíèÿ


Îïåðàòîðû ñðàâíåíèÿ


Îïåðàòîð Ñèíòàêñèñ Îïèñàíèå
= A = B Ðàâåíñòâî: Åñëè À ðàâíî Â, òî - True. Èíà÷å - False
< A < B Ìåíüøå: Åñëè À ìåíüøå Â, òî - True. Èíà÷å - False
<= A <= B Ìåíüøå èëè ðàâíî: Åñëè À ìåíüøå èëè ðàâíî Â, òî - True. Èíà÷å - False
> A > B Áîëüøå: Åñëè À áîëüøå Â, òî - True. Èíà÷å - False
>= A >= B Áîëüøå èëè ðàâíî: Åñëè À áîëüøå èëè ðàâíî Â, òî - True. Èíà÷å - False
<> A <> B Íå ðàâíî: Åñëè À íå ðàâíî Â, òî - True. Èíà÷å - False

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

Ðåçóëüòàòîì ëþáîé îïåðàöèè ñðàâíåíèÿ ÿâëÿåòñÿ çíà÷åíèå òèïà Boolean: True, False.

Åñëè îáà îïåðàíäà â âûðàæåíèè ñðàâíåíèÿ èìåþò îäèí è òîò æå òèï äàííûõ, VBA âûïîëíÿåò ïðîñòîå ñðàâíåíèå äëÿ ýòîãî òèïà.

Åñëè îáà îïåðàíäà â âûðàæåíèè ñðàâíåíèÿ èìåþò îïðåäåëåííûå òèïû è ýòè òèïû íå ÿâëÿþòñÿ ñîâìåñòèìûìè, VBA âûäàåò ñîîáùåíèå îá îøèáêå íåñîâïàäåíèÿ òèïîâ.

Åñëè îäèí èëè îáà îïåðàíäà â âûðàæåíèè ñðàâíåíèÿ ÿâëÿþòñÿ ïåðåìåííûìè òèïà Variant, VBA ïûòàåòñÿ ïðåîáðàçîâàòü òèï Variant â êàêîé-ëèáî ñîâìåñòèìûé òèï.

Ñðàâíåíèå ñòðîê

Ïðè ñðàâíåíèè ñòðîê îïåðàòîðàìè îòíîøåíèÿ, VBA ñðàâíèâàåò êàæäóþ ñòðîêó ñëåâà íàïðàâî ïîñèìâîëüíî.

 VBA îäíà ñòðîêà ðàâíà äðóãîé òîëüêî, êîãäà îáå ñòðîêè ñîäåðæàò òî÷íî òàêèå æå ñèìâîëû â òî÷íî òàêîì æå ïîðÿäêå è îáå ñòðîêè èìåþò îäíó è òó æå äëèíó. Íàïðèìåð, ñòðîêè "àáâãä" "àáâãä " " àáâãä" íå ðàâíû ìåæäó ñîáîé, ò.ê. VBA íå èãíîðèðóåò íà÷àëüíûå èëè êîíå÷íûå ñèìâîëû ïðîáåëà ïðè ñðàâíåíèè ñòðîê.

Ñëåäóåò áûòü âíèìàòåëüíûì ïðè ñðàâíåíèè ñòðîê ïåðåìåííîé äëèíû.

Äâîè÷íîå è òåêñòîâîå ñðàâíåíèå ñòðîê

Äëÿ ñîõðàíåíèÿ òåêñòà êîìïüþòåð èñïîëüçóåò ñõåìó, â êîòîðîé êàæäûé îòîáðàæàåìûé ñèìâîë èìååò óíèêàëüíûé íîìåð. Âñå áóêâû àëôàâèòà èìåþò ñâîè óíèêàëüíûå íîìåðà. Îáû÷íî áóêâû âåðõíåãî ðåãèñòðà èìåþò ìåíüøèå íîìåðà, ÷åì áóêâû íèæíåãî ðåãèñòðà. ×èñëî, ñîîòâåòñòâóþùåå îïðåäåëåííîé áóêâå èëè ñèìâîëó, íàçûâàåòñÿ êîäîì ñèìâîëà.

Ïðè âûïîëíåíèè äâîè÷íîãî ñðàâíåíèÿ ñòðîêîâîé èíôîðìàöèè VBA èñïîëüçóåò áèíàðíûé ýêâèâàëåíò ÷èñëà äëÿ êàæäîãî ñèìâîëà. Òàêîé ìåòîä ñðàâíåíèÿ íàçûâàåòñÿ äâîè÷íûì èëè áèíàðíûì è ÿâëÿåòñÿ ìåòîäîì ñðàâíåíèÿ ïî óìîë÷àíèþ.

Ò.ê. áóêâû âåðõíåãî ðåãèñòðà èìåþò ìåíüøèå äâîè÷íûå íîìåðà, áóêâû âåðõíåãî ðåãèñòðà ðàñïîëàãàþòñÿ â àëôàâèòíîì ïîðÿäêå ïåðåä áóêâàìè íèæíåãî ðåãèñòðà. Ïîýòîìó ïðè äâîè÷íîì ñðàâíåíèè ñòðîê, ñòðîêà "ÀÁÂ" áóäåì ìåíüøå ñòðîêè "àáâ".


Ïðè òåêñòîâîì ñðàâíåíèè ñòðîê VBA íå èñïîëüçóåò äâîè÷íûé ýêâèâàëåíò ñèìâîëîâ, è íå "ðàçëè÷àåò" âåðõíåãî è íèæíåãî ðåãèñòðà.  òåêñòîâîì ñðàâíåíèè ñòðîêà "àáâ" ðàâíà ñòðîêå "ÀÁÂ".

Äëÿ âûáîðà ìåòîäà ñðàâíåíèÿ ñòðîê èñïîëüçóåòñÿ äèðåêòèâà Option Compare


Option Compare [Text | Binary]


Äàííàÿ äèðåêòèâà äîëæíà íàõîäèòüñÿ â îáëàñòè îáúÿâëåíèÿ ìîäóëÿ.

Êîíêàòåíàöèÿ ñòðîê

Ïðèñîåäèíåíèå îäíîé ñòðîêè ê äðóãîé íàçûâàåòñÿ êîíêàòåíàöèåé ñòðîê.

Êîíêàòåíàöèþ ñòðîê îáû÷íî èñïîëüçóþò äëÿ ôîðìèðîâàíèÿ ñòðîê èç ðàçëè÷íûõ èñòî÷íèêîâ â ïðîöåäóðå, ÷òîáû ñîçäàâàòü ñîîáùåíèå äëÿ âûâîäà íà ýêðàí.  VBA èìååòñÿ äâà îïåðàòîðà äëÿ êîíêàòåíàöèè ñòðîê.

Îïåðàòîð êîíêàòåíàöèè (&)

Îïåðàòîð (&)â VBA èñïîëüçóåòñÿ òîëüêî äëÿ êîíêàòåíàöèè ñòðîê.

Ñèíòàêñèñ


Îïåðàíä_1 & Îïåðàíä_2 [& Îïåðàíä_3..]


Îïåðàíä_N - ëþáîå äîïóñòèìîå ñòðîêîâîå èëè ÷èñëåííîå âûðàæåíèå (êîòîðîå ïðåîáðàçóåòñÿ â ñòðîêîâîå).

Òèï äàííûõ ðåçóëüòàòà êîíêàòåíàöèè ñòðîê - String.

Åñëè îïåðàíä â âûðàæåíèè êîíêàòåíàöèè ñòðîê èìååò çíà÷åíèå Empty èëè Null, VBA èíòåðïðåòèðóåò ýòîò îïåðàíä êàê ñòðîêó íóëåâîé äëèíû (ñòðîêà íå ñîäåðæàùàÿ ñèìâîëîâ).

Îáðàòèòå âíèìàíèå! Ñèìâîë (&) îïåðàöèè êîíêàòåíàöèè îáÿçàòåëüíî íåîáõîäèìî îòäåëÿòü ïðîáåëîì îò èìåíè ïåðåìåííîé, ò.ê. â ïðîòèâíîì ñëó÷àå VBA ìîæåò èíòåðïðåòèðîâàòü ýòîò ñèìâîë êàê ñèìâîë îïðåäåëåíèÿ òèïà Long.

Îïåðàòîð ñëîæåíèÿ â êîíêàòåíàöèè ñòðîê

Äëÿ êîíêàòåíàöèè ñòðîê ìîæíî òàêæå èñïîëüçîâàòü îïåðàòîð (+).

Ýòîò îïåðàòîð èìååò òàêîé æå ñèíòàêñèñ è òðåáîâàíèÿ, êàê è îïåðàòîð (&). Îäíàêî ñëåäóåò ïîíèìàòü, ÷òî â VBA îñíîâíîå ïðåäíàçíà÷åíèå îïåðàòîðà (+) - ýòî àðèôìåòè÷åñêîå ñëîæåíèå. Ïîýòîìó, ÷òîáû èçáåæàòü äâóñìûñëåííîñòè ÷òåíèÿ ïðîãðàììíîãî êîäà, äëÿ êîíêàòåíàöèè ñòðîê íàñòîÿòåëüíî ðåêîìåíäóåòñÿ èñïîëüçîâàòü èìåííî îïåðàòîð (&).

Ïðèîðèòåòû âûïîëíåíèÿ îïåðàöèé

Ìíîãèå èç âûðàæåíèé â ïðîãðàììíîé êîäå ÿâëÿþòñÿ ñëîæíûìè (ñîñòàâíûìè), ò.å. ñîñòîÿò èç äâóõ èëè áîëåå âûðàæåíèé.

Ïðè âû÷èñëåíèè ñëîæíûõ âûðàæåíèé VBA ñëåäóåò ñëåäóþùèì ïðàâèëàì:

Îïåðàòîð Êîììåíòàðèè
^ Âîçâåäåíèå â ñòåïåíü, âûñøèé ïðèîðèòåò
- Óíàðíûé ìèíóñ
* / Óìíîæåíèå è äåëåíèå èìåþò ðàâíûå ïðèîðèòåòû
\
MOD
+ - Ñëîæåíèå è âû÷èòàíèå èìåþò ðàâíûå ïðèîðèòåòû
& Êîíêàòåíàöèÿ ñòðîê âûïîëíÿåòñÿ ïîñëå àðèôìåòè÷åñêèõ îïåðàöèé ïåðåä îïåðàöèÿìè ñðàâíåíèÿ è ëîãè÷åñêèìè îïåðàöèÿìè
< <= = >= > <> Âñå îïåðàöèè ñðàâíåíèÿ èìåþò ðàâíûå ïðèîðèòåòû è âûïîëíÿþòñÿ ñëåâà íàïðàâî. Äëÿ ãðóïïèðîâàíèÿ îïåðàöèé íàäî ïîëüçîâàòüñÿ êðóãëûìè ñêîáêàìè
NOT
AND
OR
XOR
EQV
IMP



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



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